Setting the OSType in the ArchSpec triple is needed to correctly setup up
the register context plugin. ArchSpec::SetArchitecture, for Mach-O only, sets
the OSType. For ELF it was left to the ObjectFileELF to fill in the missing
This change moves the ObjectFileELF logic into ArchSpec.
A new optional 'os' parameter has been added to SetArchitecture.
For ELF, this value is the from the ELF header.e_ident[EI_OSABI].
The default value is 0 or ELFOSABI_NONE.
The real work of determining the OSType was done by the ObjectFileELF
helper function GetOsFromOSABI. This logic has been moved SetArchitecture.
GetOsFromOSABI has been commented as being deprectated.
It is left in to support asserts.
For ELF the vendor value returned from SetArchitecture should be UnknownVendor.
An unneeded resetting in ObjectFileELF has been removed and replaced with
This fixes a problem reading a core file on FreeBSD/ARM because the spec triple