Index: contrib/elftoolchain/elfcopy/main.c =================================================================== --- contrib/elftoolchain/elfcopy/main.c +++ contrib/elftoolchain/elfcopy/main.c @@ -1390,6 +1390,7 @@ ecp->oec = elftc_bfd_target_class(tgt); ecp->oed = elftc_bfd_target_byteorder(tgt); ecp->oem = elftc_bfd_target_machine(tgt); + ecp->abi = elftc_bfd_target_osabi(tgt); } if (ecp->otf == ETF_EFI || ecp->otf == ETF_PE) ecp->oem = elftc_bfd_target_machine(tgt); Index: contrib/elftoolchain/libelftc/elftc.3 =================================================================== --- contrib/elftoolchain/libelftc/elftc.3 +++ contrib/elftoolchain/libelftc/elftc.3 @@ -57,6 +57,8 @@ Query the object format for a binary object descriptor. .It Fn elftc_bfd_target_machine Query the target machine for a binary object descriptor. +.It Fn elftc_bfd_target_osabi +Query the target osabi for a binary object descriptor. .El .It "C++ support" .Bl -tag -compact -width indent Index: contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 =================================================================== --- contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 +++ contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 @@ -48,6 +48,8 @@ .Fn elftc_bfd_target_flavor "Elftc_Bfd_Target *target" .Ft "unsigned int" .Fn elftc_bfd_target_machine "Elftc_Bfd_Target *target" +.Ft "unsigned int" +.Fn elftc_bfd_target_osabi "Elftc_Bfd_Target *target" .Sh DESCRIPTION Function .Fn elftc_bfd_find_target Index: contrib/elftoolchain/libelftc/elftc_bfdtarget.c =================================================================== --- contrib/elftoolchain/libelftc/elftc_bfdtarget.c +++ contrib/elftoolchain/libelftc/elftc_bfdtarget.c @@ -71,3 +71,10 @@ return (tgt->bt_machine); } + +unsigned int +elftc_bfd_target_osabi(Elftc_Bfd_Target *tgt) +{ + + return (tgt->bt_osabi); +} Index: contrib/elftoolchain/libelftc/libelftc.h =================================================================== --- contrib/elftoolchain/libelftc/libelftc.h +++ contrib/elftoolchain/libelftc/libelftc.h @@ -72,6 +72,7 @@ unsigned int elftc_bfd_target_byteorder(Elftc_Bfd_Target *_tgt); unsigned int elftc_bfd_target_class(Elftc_Bfd_Target *_tgt); unsigned int elftc_bfd_target_machine(Elftc_Bfd_Target *_tgt); +unsigned int elftc_bfd_target_osabi(Elftc_Bfd_Target *_tgt); int elftc_copyfile(int _srcfd, int _dstfd); int elftc_demangle(const char *_mangledname, char *_buffer, size_t _bufsize, unsigned int _flags);