mirror of
https://github.com/bminor/binutils-gdb.git
synced 2026-02-05 17:41:30 +00:00
The idea of this patch is to match the solaris target over other targets if e_ident contains ELFOSABI_SOLARIS. The solaris target will continue to recognise ELFOSABI_NONE objects. This has the side effect of disabling gnu features that require ELFOSABI_GNU, such as ifuncs. I think that is correct, so I've made the required testsuite changes to fix the resulting regressions: FAIL: nm --ifunc-chars (assembly) FAIL: mbind sections without SHF_ALLOC The patch also sets ELF_OSABI for the gnu x86 and sparc targets, for the same reason as the solaris targets. This doesn't mean object files will automatically be marked ELFOSABI_GNU/LINUX. As before that will only happen when certain GNU extensions are present. bfd/ * elf32-i386.c: Define ELF_OSABI for solaris and gnu targets. * elf32-sparc.c: Likewise. * elf64-sparc.c: Likewise. * elf64-x86-64.c: Likewise. * format.c (bfd_check_format_matches): Bump match_priority for matching e_ident EI_OSABI. binutils/ * testsuite/binutils-all/nm.exp: Use !supports_gnu_osabi to disable ifunc test. gas/ * testsuite/gas/elf/section13.d: Only run on supports_gnu_osabi targets. Remove xfails.