binutils-gdb/ld/emultempl
Alan Modra df3a023bd6 SHF_GNU_MBIND requires ELFOSABI_GNU
When SHF_GNU_MBIND was added in the SHF_LOOS to SHF_HIOS range, it
should have required ELFOSABI_GNU since these flags are already in use
by other OSes.  HPUX SHF_HP_TLS in fact has the same value.  That
means no place in binutils should test SHF_GNU_MBIND without first
checking OSABI, and SHF_GNU_MBIND should not be set without also
setting OSABI.  At least, that's the ideal, but the patch accepts
SHF_GNU_MBIND on ELFOSABI_NONE object files since gas didn't always
set OSABI.  However, to reinforce the fact that SHF_GNU_MBIND isn't
proper without a non-zero OSABI, readelf will display the flag as
LOOS+0 if OSABI isn't set.

The clash with SHF_HP_TLS means that hppa64-linux either has that flag
on .tbss sections or supports GNU_MBIND, not both.  (hppa64-linux
users, if there are any, may have noticed that GNU ld since 2017
mysteriously aligned their .tbss sections to a 4k boundary.  That was
one consequence of SHF_HP_TLS being blindly interpreted as
SHF_GNU_MBIND.)  Since it seems that binutils, gdb, gcc, glibc, and
the linux kernel don't care about SHF_HP_TLS I took that flag out of
.tbss for hppa64-linux.

bfd/
	* elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
	* elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
	(get_program_header_size): Formatting.  Only test SH_GNU_MBIND
	when elf_gnu_osabi_mbind is set.
	(_bfd_elf_map_sections_to_segments): Likewise.
	(_bfd_elf_init_private_section_data): Likewise.
	(_bfd_elf_final_write_processing): Update comment.
	* elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
	(elf_backend_special_sections): Define without .tbss for linux.
binutils/
	* readelf.c (get_parisc_segment_type): Split off hpux entries..
	(get_ia64_segment_type): ..and these..
	(get_hpux_segment_type): ..to here.
	(get_segment_type): Condition GNU_MBIND on osabi.  Use
	get_hpux_segment_type.
	(get_symbol_binding): Do not print UNIQUE for ELFOSABI_NONE.
	(get_symbol_type): Do not print IFUNC for ELFOSABI_NONE.
gas/
	* config/obj-elf.c (obj_elf_change_section): Don't emit a fatal
	error for non-SHF_ALLOC SHF_GNU_MBIND here.
	(obj_elf_parse_section_letters): Return SHF_GNU_MBIND in new
	gnu_attr param.
	(obj_elf_section): Adjust obj_elf_parse_section_letters call.
	Formatting.  Set SHF_GNU_MBIND and elf_osabi from gnu_attr.
	Emit normal error for non-SHF_ALLOC SHF_GNU_MBIND and wrong osabi.
	(obj_elf_type): Set elf_osabi for ifunc.
	* testsuite/gas/elf/section12a.d: xfail msp430 and hpux.
	* testsuite/gas/elf/section12b.d: Likewise.
	* testsuite/gas/elf/section13.d: Likewise.
	* testsuite/gas/elf/section13.l: Adjust expected error.
ld/
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Condition
	SHF_GNU_MBIND on osabi.  Set output elf_gnu_osabi_mbind.
2019-07-23 18:22:02 +09:30
..
aarch64elf.em Fix a bug recently introduced to the linker where it would complain about a section being larger than a file, even if the section was artificial. 2019-07-02 14:14:13 +01:00
aix.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
alphaelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
arclinux.em [ARC] don't force _init/_fini as DT_INIT/DT_FINI. 2019-02-09 11:07:42 +01:00
armcoff.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
armelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
astring.sed * emultempl/ostring.sed: Rename from stringify.sed. 1999-08-06 22:46:03 +00:00
avrelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
beos.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
bfin.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cr16elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
crxelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
cskyelf.em cskyelf.em branch stub handling 2019-04-10 13:30:32 +09:30
elf32.em SHF_GNU_MBIND requires ELFOSABI_GNU 2019-07-23 18:22:02 +09:30
elf-generic.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
elf-x86.em x86: Move x86-specific linker options to elf_linker_x86_params 2019-04-06 07:25:31 -07:00
epiphanyelf_4x4.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
genelf.em Generic ELF target group signature symbol 2019-05-27 13:56:28 +09:30
generic.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
hppaelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ia64elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
irix.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
linux.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m68hc1xelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
m68kelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
metagelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mipself.em [MIPS] Add generation of PLT entries with compact jumps for MIPS R6 2019-05-21 09:22:28 -07:00
mmix-elfnmmo.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mmixelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
mmo.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
msp430.em MSP430 Linker: Define __crt0_init_bss/__crt0_movedata symbols when .lower or .either prefixed sections are present. 2019-04-17 15:05:08 +01:00
nds32elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
needrelax.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
netbsd.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
nios2elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ostring.sed * emultempl/ostring.sed: Rename from stringify.sed. 1999-08-06 22:46:03 +00:00
pe.em PE linker segmentation fault with MALLOC_PERTURB_=1 2019-05-28 20:47:14 +09:30
pep.em PE linker segmentation fault with MALLOC_PERTURB_=1 2019-05-28 20:47:14 +09:30
ppc32elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ppc64elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
pruelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
README Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
riscvelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
rxelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
s390.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
scoreelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
solaris2-x86.em x86: Move x86-specific linker options to elf_linker_x86_params 2019-04-06 07:25:31 -07:00
solaris2.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
spu_icache.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_icache.S bfd/ 2009-03-17 12:46:19 +00:00
spu_ovl.o_c Regenerate spu_ovl.o_c 2016-10-15 12:53:57 +10:30
spu_ovl.S Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
spuelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
tic6xdsbt.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
ticoff.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
v850elf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vanilla.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vms.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
vxworks.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
xtensaelf.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
z80.em Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.

Copyright (C) 2012-2019 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.