old-cross-binutils/ld/emulparams
H.J. Lu aec6b87e0b [x86] Resolve non-PIC undefweak symbols in executable
For i386 and x86-64, non-PIC references to undefined weak symbols are
resolved without dynamic relocation when creating executable.  Resolved
undefined weak symbols are removed from the dynamic symbol table in
executable.  One exception is on i386, we need resolved undefined weak
symbols in the dynamic symbol table in PIE if input relocatable files
contain branchs without PLT so that we can branch to 0 with dynamic
relocation in text section.

This makes behaviors of dynamic executable and position independent
executable predictable with mixed PIC and non-PIC references to undefined
weak symbols.  If all references to undefined weak symbols are PIC,
dynamic relocations against undefined weak symbols will be generated
in executable unless -z nodynamic-undefined-weak is passed to linker.

bfd/

	PR ld/19636
	PR ld/19704
	PR ld/19719
	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
	(elf_i386_link_hash_entry): Add has_got_reloc and
	has_non_got_reloc.
	(elf_i386_link_hash_table): Add interp.
	(elf_i386_link_hash_newfunc): Initialize has_got_reloc and
	has_non_got_reloc.
	(elf_i386_copy_indirect_symbol): Copy has_got_reloc and
	has_non_got_reloc.
	(elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
	(elf_i386_fixup_symbol): New function.
	(elf_i386_pie_finish_undefweak_symbol): Likewise.
	(elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
	relocations and discard relocations against resolved undefined
	weak symbols in executable.  Don't make resolved undefined weak
	symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
	relocation against undefined weak symbols in PIE.
	(elf_i386_size_dynamic_sections): Set interp to .interp section.
	(elf_i386_relocate_section): Don't generate dynamic relocations
	against resolved undefined weak symbols in PIE, except for
	R_386_PC32.
	(elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
	dynamic PLT/GOT relocations for resolved undefined weak symbols.
	Don't generate dynamic relocation against resolved undefined weak
	symbol in executable.
	(elf_i386_finish_dynamic_sections): Call
	elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
	(elf_backend_fixup_symbol): New.
	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
	(elf_x86_64_link_hash_entry): Add has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_link_hash_table): Add interp.
	(elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_check_relocs): Set has_got_reloc and
	has_non_got_reloc.
	(elf_x86_64_fixup_symbol): New function.
	(elf_x86_64_pie_finish_undefweak_symbol): Likewise.
	(elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
	relocations and discard relocations against resolved undefined
	weak symbols in executable.  Don't make resolved undefined weak
	symbols in executable dynamic.
	(elf_x86_64_size_dynamic_sections): Set interp to .interp section.
	(elf_x86_64_relocate_section): Check relocation overflow for
	dynamic relocations against unresolved weak undefined symbols.
	Don't generate dynamic relocations against resolved weak
	undefined symbols in PIE.
	(elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
	dynamic PLT/GOT relocations for resolved undefined weak symbols.
	Don't generate dynamic relocation against resolved undefined weak
	symbol in executable.
	(elf_x86_64_finish_dynamic_sections): Call
	elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
	(elf_backend_fixup_symbol): New.

include/

	PR ld/19636
	PR ld/19704
	PR ld/19719
	* bfdlink.h (bfd_link_info): Add dynamic_undefined_weak.

ld/

	PR ld/19636
	PR ld/19704
	PR ld/19719
	* Makefile.am (ELF_X86_DEPS): Add dynamic_undefined_weak.sh.
	* Makefile.in: Regenerated.
	* NEWS: Mention -z nodynamic-undefined-weak.
	* ld.texinfo: Document -z nodynamic-undefined-weak.
	* ldmain.c (main): Initialize dynamic_undefined_weak to -1.
	* emulparams/dynamic_undefined_weak.sh: New file.
	* emulparams/elf32_x86_64.sh: Source dynamic_undefined_weak.sh.
	* emulparams/elf_i386.sh: Likewise.
	* emulparams/elf_i386_be.sh: Likewise.
	* emulparams/elf_i386_chaos.sh: Likewise.
	* emulparams/elf_i386_ldso.sh: Likewise.
	* emulparams/elf_i386_vxworks.sh: Likewise.
	* emulparams/elf_iamcu.sh: Likewise.
	* emulparams/elf_k1om.sh: Likewise.
	* emulparams/elf_l1om.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.
	* emulparams/extern_protected_data.sh (PARSE_AND_LIST_OPTIONS):
	Append.
	(PARSE_AND_LIST_ARGS_CASE_Z): Likewise.
	* testsuite/ld-elf/pr19719a.c: New file.
	* testsuite/ld-elf/pr19719b.c: Likewise.
	* testsuite/ld-elf/pr19719c.c: Likewise.
	* testsuite/ld-elf/pr19719d.c: Likewise.
	* testsuite/ld-i386/pr19636-1.s: Likewise.
	* testsuite/ld-i386/pr19636-1a.d: Likewise.
	* testsuite/ld-i386/pr19636-1b.d: Likewise.
	* testsuite/ld-i386/pr19636-1c.d: Likewise.
	* testsuite/ld-i386/pr19636-1d-nacl.d: Likewise.
	* testsuite/ld-i386/pr19636-1d.d: Likewise.
	* testsuite/ld-i386/pr19636-1e.d: Likewise.
	* testsuite/ld-i386/pr19636-1f.d: Likewise.
	* testsuite/ld-i386/pr19636-1g.d: Likewise.
	* testsuite/ld-i386/pr19636-1h.d: Likewise.
	* testsuite/ld-i386/pr19636-1i.d: Likewise.
	* testsuite/ld-i386/pr19636-2.s: Likewise.
	* testsuite/ld-i386/pr19636-2a.d: Likewise.
	* testsuite/ld-i386/pr19636-2b.d: Likewise.
	* testsuite/ld-i386/pr19636-2c-nacl.d: Likewise.
	* testsuite/ld-i386/pr19636-2c.d: Likewise.
	* testsuite/ld-i386/pr19636-2d-nacl.d: Likewise.
	* testsuite/ld-i386/pr19636-2d.d: Likewise.
	* testsuite/ld-i386/pr19636-2e-nacl.d: Likewise.
	* testsuite/ld-i386/pr19636-2e.d: Likewise.
	* testsuite/ld-i386/pr19636-3.s: Likewise.
	* testsuite/ld-i386/pr19636-3a.d: Likewise.
	* testsuite/ld-i386/pr19636-3b.d: Likewise.
	* testsuite/ld-i386/pr19636-3c.d: Likewise.
	* testsuite/ld-i386/pr19636-3d.d: Likewise.
	* testsuite/ld-i386/pr19636-3e.d: Likewise.
	* testsuite/ld-i386/pr19636-3f.d: Likewise.
	* testsuite/ld-i386/pr19636-3g.d: Likewise.
	* testsuite/ld-i386/pr19636-4.s: Likewise.
	* testsuite/ld-i386/pr19636-4a.d: Likewise.
	* testsuite/ld-i386/pr19636-4b.d: Likewise.
	* testsuite/ld-i386/pr19636-4c.d: Likewise.
	* testsuite/ld-i386/pr19636-4d.d: Likewise.
	* testsuite/ld-i386/pr19704.out: Likewise.
	* testsuite/ld-i386/pr19704a.c: Likewise.
	* testsuite/ld-i386/pr19704b.c: Likewise.
	* testsuite/ld-x86-64/pr19636-1.s: Likewise.
	* testsuite/ld-x86-64/pr19636-1a.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1b.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1c.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1d.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1e.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1f.d: Likewise.
	* testsuite/ld-x86-64/pr19636-1g.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2.s: Likewise.
	* testsuite/ld-x86-64/pr19636-2a.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2b.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2c.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2d-nacl.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2d.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2e.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2f.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2g.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2h.d: Likewise.
	* testsuite/ld-x86-64/pr19636-2i.d: Likewise.
	* testsuite/ld-x86-64/pr19636-3.s: Likewise.
	* testsuite/ld-x86-64/pr19636-3a.d: Likewise.
	* testsuite/ld-x86-64/pr19636-3b.d: Likewise.
	* testsuite/ld-x86-64/pr19636-3c.d: Likewise.
	* testsuite/ld-x86-64/pr19636-3d.d: Likewise.
	* testsuite/ld-x86-64/pr19704.out: Likewise.
	* testsuite/ld-x86-64/pr19704a.c: Likewise.
	* testsuite/ld-x86-64/pr19704b.c: Likewise.
	* testsuite/ld-elf/shared.exp (mix_pic_and_non_pic): New.
	Run mix_pic_and_non_pic.
	* testsuite/ld-i386/i386.exp (undefined_weak): New.
	Run undefined_weak and PR ld/19636 tests.
	* testsuite/ld-x86-64/x86-64.exp: Likewise.
	* testsuite/ld-x86-64/pr13082-3b.d: Updated.
	* testsuite/ld-x86-64/pr13082-4b.d: Likewise.
2016-02-26 04:55:57 -08:00
..
aarch64cloudabi.sh Add support for AArch64 CloudABI binaries. 2015-10-29 13:49:03 +00:00
aarch64cloudabib.sh Add support for AArch64 CloudABI binaries. 2015-10-29 13:49:03 +00:00
aarch64elf.sh aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
aarch64elf32.sh ld/ChangeLog: 2013-11-21 11:17:50 -08:00
aarch64elf32b.sh [AArch64, ILP32] 6/6 Add big-endian targets 2013-06-26 10:56:05 +00:00
aarch64elfb.sh Add support for 64-bit ARM architecture: AArch64 2012-08-13 14:52:54 +00:00
aarch64fbsd.sh Add support for configuring an aarch64-freebsd target. 2015-04-02 15:07:27 +01:00
aarch64fbsdb.sh Add support for configuring an aarch64-freebsd target. 2015-04-02 15:07:27 +01:00
aarch64linux.sh [AArch64] Define LP64 LE loader name. 2014-01-20 18:18:52 +00:00
aarch64linux32.sh 2014-02-11 Andrew Pinski <apinski@cavium.com> 2014-02-11 11:16:30 -08:00
aarch64linux32b.sh 2014-02-11 Andrew Pinski <apinski@cavium.com> 2014-02-11 11:16:30 -08:00
aarch64linuxb.sh [AArch64] Define LP64 BE linker name. 2014-01-20 18:20:04 +00:00
aix5ppc.sh
aix5rs6.sh
aixppc.sh
aixrs6.sh
alpha.sh
alphavms.sh 2010-04-14 Tristan Gingold <gingold@adacore.com> 2010-04-14 09:27:27 +00:00
arcebelf.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arcebelf_prof.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arceblinux.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arceblinux_prof.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arcelf.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arcelf_prof.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arclinux.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arclinux_prof.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arcv2elf.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arcv2elfx.sh New ARC implementation. 2015-10-07 14:20:19 +01:00
arm_epoc_pe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
arm_wince_pe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
armaoutb.sh PR 4515 2007-08-09 11:02:24 +00:00
armaoutl.sh PR 4515 2007-08-09 11:02:24 +00:00
armcoff.sh
armelf.sh ld/ 2009-11-20 15:04:51 +00:00
armelf_fbsd.sh * emulparams/armelf_fbsd.sh (TEXT_START_ADDR): Increase alignment to 64kB boundary like in armelf_linux.sh 2014-08-22 06:33:45 +02:00
armelf_linux.sh ld/ARM: Increase maximum page size to 64kB 2014-07-08 15:00:12 +01:00
armelf_linux_eabi.sh ld/ 2009-11-20 15:04:51 +00:00
armelf_nacl.sh * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry): 2012-04-12 13:01:15 +00:00
armelf_nbsd.sh bfd/ 2006-05-30 16:45:32 +00:00
armelf_vxworks.sh bfd/ 2006-05-30 16:45:32 +00:00
armelfb.sh * Makefile.am (ALL_EMULATIONS): Add earmelfb.o and earmelfb_linux.o. 2003-05-09 20:05:04 +00:00
armelfb_fbsd.sh ld/ARM: Add target arm*b-*-freebsd*, update target arm*-*-freebsd*. 2014-06-18 21:58:19 +02:00
armelfb_linux.sh * Makefile.am (ALL_EMULATIONS): Add earmelfb.o and earmelfb_linux.o. 2003-05-09 20:05:04 +00:00
armelfb_linux_eabi.sh * emulparams/armelfb_linux_eabi.sh: New file. 2005-01-22 01:50:35 +00:00
armelfb_nacl.sh * elf32-arm.c (elf32_arm_nacl_plt0_entry, elf32_arm_nacl_plt_entry): 2012-04-12 13:01:15 +00:00
armelfb_nbsd.sh
armnbsd.sh PR 4515 2007-08-09 11:02:24 +00:00
armnto.sh 2008-02-20 Paul Brook <paul@codesourcery.com> 2008-02-20 15:17:56 +00:00
armpe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
armsymbian.sh ld/ 2009-11-20 15:04:51 +00:00
avr1.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr2.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr3.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr4.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr5.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr6.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr25.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr31.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr35.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avr51.sh * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN. 2009-05-05 11:28:36 +00:00
avrtiny.sh Add support for the AVR Tiny series of microcontrollers. 2014-07-01 10:20:17 +01:00
avrxmega1.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega2.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega3.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega4.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega5.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega6.sh /bfd: 2011-03-22 18:10:48 +00:00
avrxmega7.sh /bfd: 2011-03-22 18:10:48 +00:00
call_nop.sh Add "-z call-nop=PADDING" option to ld 2015-10-22 04:56:39 -07:00
coff_i860.sh 2003-08-04 Christian Groessler <chris@groessler.org> 2003-08-06 02:19:05 +00:00
coff_sparc.sh PR 4515 2007-08-09 11:02:24 +00:00
crisaout.sh PR 4515 2007-08-09 11:02:24 +00:00
criself.sh ALIGN change affects cris scripts 2015-07-20 14:29:37 +09:30
crislinux.sh * emulparams/crislinux.sh (COMMONPAGESIZE): Define. 2014-01-10 01:25:26 +01:00
d10velf.sh
d30v_e.sh bfd/ 2006-06-20 02:22:16 +00:00
d30v_o.sh bfd/ 2006-06-20 02:22:16 +00:00
d30velf.sh bfd/ 2006-06-20 02:22:16 +00:00
delta68.sh
dynamic_undefined_weak.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf32_dlx.sh bfd/ 2006-06-20 02:22:16 +00:00
elf32_i860.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf32_i960.sh * emulparams/elf32_i960.sh (TEMPLATE_NAME): "generic", not "elf32". 2008-10-22 06:06:09 +00:00
elf32_sparc.sh * emulparams/elf32_sparc.sh: Set NOP to 0x01000000 2010-09-20 18:41:15 +00:00
elf32_sparc_sol2.sh ld: 2010-10-22 12:08:32 +00:00
elf32_sparc_vxworks.sh bfd/ 2006-04-05 12:41:59 +00:00
elf32_spu.sh bfd/ 2009-08-05 20:40:34 +00:00
elf32_tic6x_be.sh bfd: 2010-03-25 21:12:36 +00:00
elf32_tic6x_elf_be.sh ld/ 2011-05-13 18:15:33 +00:00
elf32_tic6x_elf_le.sh ld/ 2011-05-13 18:15:33 +00:00
elf32_tic6x_le.sh Prevent multiple definitions for _HEAP_START, _HEAP_MAX, and _STACK_START when performing a relocatable link with a tic6x target. 2015-04-01 11:29:46 +01:00
elf32_tic6x_linux_be.sh ld/ 2011-05-13 18:15:33 +00:00
elf32_tic6x_linux_le.sh ld/ 2011-05-13 18:15:33 +00:00
elf32_x86_64.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf32_x86_64_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf32am33lin.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf32b4300.sh PR 4515 2007-08-09 11:02:24 +00:00
elf32bfin.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
elf32bfinfd.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
elf32bmip.sh [MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions 2014-07-29 11:27:59 +01:00
elf32bmipn32-defs.sh Skip empty EMULATION_NAME 2015-04-08 09:46:50 -07:00
elf32bmipn32.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32bsmip.sh * emulparams/elf32bsmip.sh (EXTRA_EM_FILE): Define to irix. 2004-04-08 14:52:44 +00:00
elf32btsmip.sh bfd/ 2013-06-24 23:55:46 +00:00
elf32btsmip_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf32btsmipn32.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32btsmipn32_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf32cr16.sh * emultempl/cr16elf.em (cr16_after_open): New function to handle 2008-11-27 12:41:14 +00:00
elf32cr16c.sh Add (linker) support for CR16C processor 2004-03-30 14:04:32 +00:00
elf32crx.sh Add new port: crx-elf 2004-07-07 17:28:53 +00:00
elf32ebmip.sh
elf32ebmipvxworks.sh ld/ 2007-05-18 09:18:18 +00:00
elf32elmip.sh
elf32elmipvxworks.sh Richard Sandiford <richard@codesourcery.com> 2006-03-22 09:28:15 +00:00
elf32epiphany.sh bfd: 2011-10-25 11:18:16 +00:00
elf32epiphany_4x4.sh * scripttempl/epiphany_4x4.sc, emulparams/elf32epiphany_4x4.sh: Add. 2012-11-30 18:28:38 +00:00
elf32fr30.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32frv.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32frvfd.sh bfd/ 2006-06-20 02:22:16 +00:00
elf32ft32.sh FT32 initial support 2015-01-28 16:25:18 +10:30
elf32i370.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32ip2k.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf32iq10.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32iq2000.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32l4300.sh
elf32lm32.sh Add LM32 port. 2008-12-23 19:10:25 +00:00
elf32lm32fd.sh Add LM32 port. 2008-12-23 19:10:25 +00:00
elf32lmip.sh
elf32lppc.sh bfd/ 2013-04-25 13:22:52 +00:00
elf32lppclinux.sh bfd/ 2013-04-25 13:22:52 +00:00
elf32lppcnto.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32lppcsim.sh
elf32lr5900.sh * archures.c: Add support for MIPS r5900 2013-01-04 17:22:53 +00:00
elf32lr5900n32.sh * archures.c: Add support for MIPS r5900 2013-01-04 17:22:53 +00:00
elf32lsmip.sh
elf32ltsmip.sh
elf32ltsmip_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf32ltsmipn32.sh
elf32ltsmipn32_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf32m32c.sh * emulparams/elf32m32c.sh (TEMPLATE_NAME): New. 2005-07-20 19:33:18 +00:00
elf32mb_linux.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf32mbel_linux.sh Files missing from previous commit. 2012-11-09 22:43:28 +00:00
elf32mcore.sh * ldmain.c (main): Flush stdout before and stderr after printing 2011-01-14 12:37:17 +00:00
elf32mep.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32metag.sh * common.h: Fix case of "Meta". 2013-01-10 09:49:22 +00:00
elf32microblaze.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf32microblazeel.sh Files missing from previous commit. 2012-11-09 22:43:28 +00:00
elf32mipswindiss.sh ld/ 2012-08-06 22:40:36 +00:00
elf32moxie.sh Bi-endian patches for moxie 2012-09-13 22:24:51 +00:00
elf32mt.sh bfd/ 2006-06-20 02:22:16 +00:00
elf32or1k.sh Remove support for the (deprecated) openrisc and or32 configurations and replace 2014-04-22 15:57:47 +01:00
elf32or1k_linux.sh or1k: increase linux TEXT_START_ADDR to 0x2000 2014-07-17 00:26:45 +03:00
elf32ppc.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf32ppc_fbsd.sh * Makefile.am (ALL_64_EMULATION_SOURCES): Add powerpc64-*-freebsd 2011-11-21 13:22:46 +00:00
elf32ppccommon.sh Rewrite ppc32 backend .sdata and .sdata2 handling 2014-05-20 13:13:23 +09:30
elf32ppclinux.sh * ldlang.c (exp_init_os): Handle etree_provide. 2005-08-03 05:09:49 +00:00
elf32ppcnto.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32ppcsim.sh
elf32ppcvxworks.sh Fix ELF ppc32 targets that don't use ppc32elf.em 2014-02-27 23:39:01 +10:30
elf32ppcwindiss.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf32rl78.sh Fix the evaluation of RL78 complex relocs, by making immediate values be computed relative to a new absolute symbol. 2015-07-24 16:44:27 +01:00
elf32rx.sh * emulparams/elf32rx.sh (OTHER_READONLY_SECTIONS): Add W_* sections. 2012-09-12 21:28:04 +00:00
elf32tilegx.sh Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation 2012-06-11 13:23:51 +00:00
elf32tilegx_be.sh Add big-endian support for tilegx. 2012-02-25 19:51:34 +00:00
elf32tilepro.sh Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation 2012-06-11 13:23:51 +00:00
elf32vax.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf32visium.sh Add Visium support to ld 2014-12-06 16:45:22 +01:00
elf32xc16x.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32xc16xl.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32xc16xs.sh bfd/ 2006-05-30 16:45:32 +00:00
elf32xstormy16.sh
elf32xtensa.sh * emulparams/elf32xtensa.sh (NO_REL_RELOCS): Set. 2008-11-03 18:52:52 +00:00
elf64_aix.sh bfd/ 2006-05-30 16:45:32 +00:00
elf64_ia64.sh bfd/ 2006-05-30 16:45:32 +00:00
elf64_ia64_fbsd.sh 2004-10-14 H.J. Lu <hongjiu.lu@intel.com> 2004-10-14 17:00:16 +00:00
elf64_ia64_vms.sh * configure.ac (ia64*-*-*vms*): Add support for ld. 2012-04-12 07:35:07 +00:00
elf64_s390.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf64_sparc.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
elf64_sparc_fbsd.sh 2006-10-18 Roy Marples <uberlord@gentoo.org> 2006-10-18 23:58:52 +00:00
elf64_sparc_sol2.sh ld: 2010-10-22 12:08:32 +00:00
elf64alpha.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf64alpha_fbsd.sh
elf64alpha_nbsd.sh
elf64bmip-defs.sh [MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions 2014-07-29 11:27:59 +01:00
elf64bmip.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf64btsmip.sh ld/ 2006-10-16 21:34:25 +00:00
elf64btsmip_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf64hppa.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf64lppc.sh
elf64ltsmip.sh
elf64ltsmip_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf64mmix.sh * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to 2009-07-29 00:25:22 +00:00
elf64ppc.sh Align .TOC. for PowerPC64 2015-04-23 09:49:19 +09:30
elf64ppc_fbsd.sh * Makefile.am (ALL_64_EMULATION_SOURCES): Add powerpc64-*-freebsd 2011-11-21 13:22:46 +00:00
elf64rdos.sh * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c. 2013-01-23 10:31:13 +00:00
elf64tilegx.sh Don't hardcode .got.plt into DATA_SEGMENT_RELRO_END evaluation 2012-06-11 13:23:51 +00:00
elf64tilegx_be.sh Add big-endian support for tilegx. 2012-02-25 19:51:34 +00:00
elf_fbsd.sh
elf_i386.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_i386_be.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_i386_chaos.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_i386_fbsd.sh
elf_i386_ldso.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_i386_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf_i386_sol2.sh * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed 2010-10-12 18:39:36 +00:00
elf_i386_vxworks.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_iamcu.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_k1om.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_k1om_fbsd.sh Add initial Intel K1OM support. 2011-07-22 20:22:38 +00:00
elf_l1om.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_l1om_fbsd.sh Add missing files. 2009-07-25 15:08:26 +00:00
elf_nacl.sh ld/ 2013-08-23 22:38:42 +00:00
elf_s390.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
elf_x86_64.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
elf_x86_64_cloudabi.sh Add support for Nuxi CloudABI on x86-64 2015-03-31 08:11:08 -07:00
elf_x86_64_fbsd.sh PR binutils/2983 2006-08-02 16:25:14 +00:00
elf_x86_64_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf_x86_64_sol2.sh * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed 2010-10-12 18:39:36 +00:00
extern_protected_data.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
gld960.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
gld960coff.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
h8300.sh * emulparams/h8300elf.sh: _tinydata should not be placed in relocatables. 2006-09-07 17:01:10 +00:00
h8300elf.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
h8300elf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300h.sh
h8300helf.sh
h8300helf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300hn.sh oops - omitted from previous delta 2003-04-24 15:25:24 +00:00
h8300hnelf.sh oops - omitted from previous delta 2003-04-24 15:25:24 +00:00
h8300s.sh
h8300self.sh
h8300self_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300sn.sh oops - omitted from previous delta 2003-04-24 15:25:24 +00:00
h8300snelf.sh oops - omitted from previous delta 2003-04-24 15:25:24 +00:00
h8300sx.sh 2003-06-03 Michael Snyder <msnyder@redhat.com> 2003-06-03 21:43:52 +00:00
h8300sxelf.sh * emulparams/h8300elf.sh: _tinydata should not be placed in relocatables. 2006-09-07 17:01:10 +00:00
h8300sxelf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300sxn.sh include/elf/ 2003-06-10 07:09:31 +00:00
h8300sxnelf.sh include/elf/ 2003-06-10 07:09:31 +00:00
h8500.sh
h8500b.sh
h8500c.sh
h8500m.sh
h8500s.sh
hp3hpux.sh
hp300bsd.sh
hppa64linux.sh * configure.tgt: Only use elf64hppa target emulation for hpux. 2009-03-01 22:10:36 +00:00
hppaelf.sh
hppalinux.sh PR ld/12376 2011-02-18 18:20:29 +00:00
hppanbsd.sh bfd: 2004-07-27 22:30:25 +00:00
hppaobsd.sh bfd/ 2006-05-30 16:45:32 +00:00
i386aout.sh PR 4515 2007-08-09 11:02:24 +00:00
i386beos.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
i386bsd.sh PR 4515 2007-08-09 11:02:24 +00:00
i386coff.sh
i386go32.sh PR 4515 2007-08-09 11:02:24 +00:00
i386linux.sh PR 4515 2007-08-09 11:02:24 +00:00
i386lynx.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
i386mach.sh PR 4515 2007-08-09 11:02:24 +00:00
i386moss.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
i386msdos.sh PR 4515 2007-08-09 11:02:24 +00:00
i386nbsd.sh
i386nto.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
i386nw.sh PR 4515 2007-08-09 11:02:24 +00:00
i386pe.sh Remove remaining default manifest support. 2014-04-09 17:12:30 +01:00
i386pe_posix.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
i386pep.sh Remove remaining default manifest support. 2014-04-09 17:12:30 +01:00
lnk960.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
m32relf.sh * emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from 2005-08-05 04:29:57 +00:00
m32relf_linux.sh bfd/ 2006-05-30 16:45:32 +00:00
m32rlelf.sh Add support for m32r-linux target, including a RELA ABI and PIC. 2003-12-19 11:44:01 +00:00
m32rlelf_linux.sh Add support for m32r-linux target, including a RELA ABI and PIC. 2003-12-19 11:44:01 +00:00
m68hc11elf.sh * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra. 2003-04-21 13:29:05 +00:00
m68hc11elfb.sh * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra. 2003-04-21 13:29:05 +00:00
m68hc12elf.sh * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra. 2003-04-21 13:29:05 +00:00
m68hc12elfb.sh * emulparams/m68hc11elf.sh: Use m68hc1xelf.em extra. 2003-04-21 13:29:05 +00:00
m68k4knbsd.sh PR 4515 2007-08-09 11:02:24 +00:00
m68kaout.sh PR 4515 2007-08-09 11:02:24 +00:00
m68kaux.sh
m68kcoff.sh
m68kelf.sh * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75 2009-09-29 16:28:52 +00:00
m68kelfnbsd.sh
m68klinux.sh PR 4515 2007-08-09 11:02:24 +00:00
m68knbsd.sh PR 4515 2007-08-09 11:02:24 +00:00
m68kpsos.sh bfd/ 2006-05-30 16:45:32 +00:00
m88kbcs.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
mcorepe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
mmo.sh * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to 2009-07-29 00:25:22 +00:00
mn10200.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
mn10300.sh bfd/ 2006-06-20 02:22:16 +00:00
moxiebox.sh Add moxiebox target 2014-07-27 08:51:20 -04:00
msp430elf.sh Fix the execution of the MSP430 simulator testsuite. 2016-01-05 16:43:58 +00:00
msp430X.sh Change msp430 emulation to msp430elf 2015-04-24 17:05:52 -04:00
nds32belf.sh Add support for Andes NDS32: 2013-12-13 11:52:32 +00:00
nds32belf16m.sh Add support for Andes NDS32: 2013-12-13 11:52:32 +00:00
nds32belf_linux.sh Add support for Andes NDS32: 2013-12-13 11:52:32 +00:00
nds32elf.sh Allow ld target customiser script to force on disk scripts. 2014-01-17 10:41:49 +10:30
nds32elf16m.sh Allow ld target customiser script to force on disk scripts. 2014-01-17 10:41:49 +10:30
nds32elf_linux.sh Allow ld target customiser script to force on disk scripts. 2014-01-17 10:41:49 +10:30
news.sh
nios2elf.sh Nios II CALL26 linker relaxation 2014-01-30 17:47:07 -08:00
nios2linux.sh 2014-05-11 Chung-Lin Tang <cltang@codesourcery.com> 2014-05-11 10:04:45 -07:00
ns32knbsd.sh PR 4515 2007-08-09 11:02:24 +00:00
pc532macha.sh PR 4515 2007-08-09 11:02:24 +00:00
pdp11.sh
pjelf.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
pjlelf.sh bfd/ 2006-06-20 02:22:16 +00:00
plt_unwind.sh Add ld_list_options 2015-04-08 04:55:23 -07:00
ppclynx.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
ppcmacos.sh
ppcnw.sh PR 4515 2007-08-09 11:02:24 +00:00
ppcpe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
README Copyright update for binutils 2016-01-01 23:00:01 +10:30
riscix.sh
score3_elf.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
score7_elf.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
sh.sh
shelf.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shelf32.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shelf32_linux.sh
shelf32_nbsd.sh bfd/ 2006-05-30 16:45:32 +00:00
shelf64.sh * emulparams/shelf32.sh: Set default stack to 0x80000. 2006-10-22 01:07:30 +00:00
shelf64_nbsd.sh
shelf_fd.sh 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
shelf_linux.sh
shelf_nbsd.sh * emulparams/shlelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE 2008-01-15 23:05:46 +00:00
shelf_nto.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shelf_uclinux.sh * emulparams/shelf_uclinux.sh: New. Missed in 2007-02-28 commit. 2007-03-02 21:02:48 +00:00
shelf_vxworks.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shl.sh
shlelf.sh
shlelf32.sh
shlelf32_linux.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shlelf32_nbsd.sh
shlelf64.sh
shlelf64_nbsd.sh
shlelf_fd.sh 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
shlelf_linux.sh 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
shlelf_nbsd.sh
shlelf_nto.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00:00
shlelf_vxworks.sh bfd/ 2006-08-04 13:13:56 +00:00
shlsymbian.sh Add support for sh-symbian-elf target 2004-07-06 16:58:43 +00:00
shpe.sh 2009-11-04 Kai Tietz <kai.tietz@onevision.com> 2009-11-04 18:13:05 +00:00
solaris2.sh Solaris PIE support 2015-09-22 11:12:51 +02:00
sparcaout.sh PR 4515 2007-08-09 11:02:24 +00:00
sparclinux.sh PR 4515 2007-08-09 11:02:24 +00:00
sparcnbsd.sh
st2000.sh
sun3.sh PR 4515 2007-08-09 11:02:24 +00:00
sun4.sh PR 4515 2007-08-09 11:02:24 +00:00
tic3xcoff.sh Namespace cleanup for the tic4x target. Replace s/c4x/tic4x/ and s/c3x/tic3x/. 2003 copyright update 2003-04-04 08:15:15 +00:00
tic3xcoff_onchip.sh Namespace cleanup for the tic4x target. Replace s/c4x/tic4x/ and s/c3x/tic3x/. 2003 copyright update 2003-04-04 08:15:15 +00:00
tic4xcoff.sh Namespace cleanup for the tic4x target. Replace s/c4x/tic4x/ and s/c3x/tic3x/. 2003 copyright update 2003-04-04 08:15:15 +00:00
tic30aout.sh
tic30coff.sh
tic54xcoff.sh
tic80coff.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
v850.sh Adds support for generating notes in V850 binaries. 2015-02-24 17:54:09 +00:00
v850_rh850.sh Adds support for generating notes in V850 binaries. 2015-02-24 17:54:09 +00:00
vanilla.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
vax.sh
vaxnbsd.sh PR 4515 2007-08-09 11:02:24 +00:00
vsta.sh PR 4515 2007-08-09 11:02:24 +00:00
vxworks.sh * emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ... 2009-10-29 16:43:56 +00:00
w65.sh
xgateelf.sh Add support for Motorola XGATE embedded CPU 2012-05-03 13:12:08 +00:00
z80.sh Add support for the Z80 processor family 2005-10-25 17:40:19 +00:00
z8001.sh
z8002.sh

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 read by genscripts.sh as shell commands.
They set parameters for the emulations.

Copyright (C) 2012-2016 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.