old-cross-binutils/ld/emulparams
H.J. Lu dd7e64d45b Optimize out i386/x86-64 JUMP_SLOT relocation
When there are both PLT and GOT references to the same function symbol,
linker will create a GOTPLT slot for PLT entry and a GOT slot for GOT
reference.  A run-time JUMP_SLOT relocation is created to update the
GOTPLT slot and a run-time GLOB_DAT relocation is created to update the
GOT slot.  Both JUMP_SLOT and GLOB_DAT relocations will apply the same
symbol value to GOTPLT and GOT slots, respectively, at run-time.

This optimization combines GOTPLT and GOT slots into a single GOT slot
and removes the run-time JUMP_SLOT relocation.  It replaces the regular
PLT entry:

	indirect jump	[GOTPLT slot]
	push		relocation index
	jump		PLT0

with an GOT PLT entry with an indirect jump via the GOT slot:

	indirect jump	[GOT slot]
	nop

and resolves PLT reference to the GOT PLT entry.

We must avoid this optimization if pointer equality is needed since
we don't clear symbol value in this case and the dynamic linker won't
update the GOT slot.  Otherwise, the resulting binary will get into an
infinite loop at run-time.

bfd/

	* elf32-i386.c (elf_i386_got_plt_entry): New.
	(elf_i386_pic_got_plt_entry): Likewise.
	(elf_i386_link_hash_entry): Add plt_got.
	(elf_i386_link_hash_table): Likewise.
	(elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1.
	(elf_i386_get_local_sym_hash): Likewise.
	(elf_i386_check_relocs): Create the GOT PLT if there are both
	PLT and GOT references when the regular PLT is used.
	(elf_i386_allocate_dynrelocs): Use the GOT PLT if there are
	both PLT and GOT references unless pointer equality is needed.
	(elf_i386_relocate_section): Also check the GOT PLT when
	resolving R_386_PLT32.
	(elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is
	available.

	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got.
	(elf_x86_64_link_hash_table): Likewise.
	(elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1.
	(elf_x86_64_get_local_sym_hash): Likewise.
	(elf_x86_64_check_relocs): Create the GOT PLT if there are both
	PLT and GOT references when the regular PLT is used.
	(elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are
	both PLT and GOT references unless pointer equality is needed.
	(elf_x86_64_relocate_section): Also check the GOT PLT when
	resolving R_X86_64_PLT32.
	(elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is
	available.

ld/

	* emulparams/elf_i386.sh (TINY_READONLY_SECTION): New.
	* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): Add .plt.got.

ld/testsuite/

	* ld-i386/i386.exp: Add run-time relocation tests for plt-main.
	* ld-i386/plt-main.rd: New file.
	* ld-x86-64/plt-main-bnd.dd: Likewise.
	* ld-x86-64/plt-main.rd: Likewise.
	* ld-x86-64/x86-64.exp: Add run-time relocation tests for
	plt-main.
2014-11-25 05:05:39 -08: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
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 Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
aix5rs6.sh Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
aixppc.sh Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
aixrs6.sh Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
alpha.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
alphavms.sh 2010-04-14 Tristan Gingold <gingold@adacore.com> 2010-04-14 09:27:27 +00:00
arcelf.sh * scripttempl/elf.sc (NO_REL_RELOCS, NO_RELA_RELOCS, NON_ALLOC_DYN): 2008-10-22 05:20:44 +00: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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 bfd: 2002-05-21 15:11:04 +00:00
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
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 Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
crislinux.sh * emulparams/crislinux.sh (COMMONPAGESIZE): Define. 2014-01-10 01:25:26 +01:00
d10velf.sh Fix ld segfault for some elf targets. Fix default layout for d10v. 2002-06-17 14:08:40 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00: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 Remove trailing white spaces in ld 2013-01-10 20:08:03 +00: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 Skip directories with LIBPATH_SUFFIX_SKIP suffix 2014-01-15 20:09:09 -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 [MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions 2014-07-29 11:27:59 +01: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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
elf32ebmipvxworks.sh ld/ 2007-05-18 09:18:18 +00:00
elf32elmip.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
elf32ltsmip.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
elf32ltsmip_fbsd.sh bfd/ 2010-12-31 11:01:00 +00:00
elf32ltsmipn32.sh * Makefile.am (eelf32btsmipn32.o, eelf32ltsmipn32.o): New emulations 2002-07-30 23:48:30 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 [.] 2011-11-02 03:09:11 +00: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
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 Index: bfd/ChangeLog 2001-12-08 03:46:03 +00:00
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 2002-09-16 Bruno Haible <bruno@clisp.org> 2002-09-17 02:24:40 +00:00
elf64alpha_nbsd.sh * Makefile.am: Add rules for eelf64alpha_nbsd. 2001-12-17 23:54:58 +00:00
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 * Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o. 2001-08-27 10:45:55 +00:00
elf64ltsmip.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Provide 32-bit 2013-09-24 06:29:39 +00:00
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 2002-02-18 David O'Brien <obrien@FreeBSD.org> 2002-02-18 09:38:01 +00:00
elf_i386.sh Optimize out i386/x86-64 JUMP_SLOT relocation 2014-11-25 05:05:39 -08:00
elf_i386_be.sh Support arch-dependent fill 2012-01-31 17:54:39 +00:00
elf_i386_chaos.sh * emultempl/elf32.em (gld${EMULATION_NAME}_add_options, 2011-07-14 02:38:43 +00:00
elf_i386_fbsd.sh 2002-09-16 Bruno Haible <bruno@clisp.org> 2002-09-17 02:24:40 +00:00
elf_i386_ldso.sh Support arch-dependent fill 2012-01-31 17:54:39 +00: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 Support arch-dependent fill 2012-01-31 17:54:39 +00:00
elf_k1om.sh Define IREL_IN_PLT for elf_k1om.sh and elf_l1om.sh 2013-12-20 08:27:02 -08:00
elf_k1om_fbsd.sh Add initial Intel K1OM support. 2011-07-22 20:22:38 +00:00
elf_l1om.sh Define IREL_IN_PLT for elf_k1om.sh and elf_l1om.sh 2013-12-20 08:27:02 -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 Optimize out i386/x86-64 JUMP_SLOT relocation 2014-11-25 05:05:39 -08: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
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
h8300h.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8300helf.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8300self.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +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
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8500b.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8500c.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8500m.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
h8500s.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
hp3hpux.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
hp300bsd.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
hppa64linux.sh * configure.tgt: Only use elf64hppa target emulation for hpux. 2009-03-01 22:10:36 +00:00
hppaelf.sh Add some shell variables and shell code to elf32.em 2000-07-28 01:33:14 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
m68kcoff.sh Applied Michael's Sokolov's patch to implement --embedded-relocs for m68k coff. 2000-07-21 23:31:53 +00:00
m68kelf.sh * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75 2009-09-29 16:28:52 +00:00
m68kelfnbsd.sh * config.bfd (m68*-*-netbsdelf*): New target. 2001-12-18 13:26:26 +00:00
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
msp430.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
msp430X.sh fix 2014-05-28 ld Makefile.am changes 2014-06-02 14:52:52 +09:30
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 Add PDP-11 support 2001-02-18 23:33:11 +00:00
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 * emultempl/elf32.em (gld${EMULATION_NAME}_add_options, 2011-07-14 02:38:43 +00: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 Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
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 Update copyright years 2014-03-05 22:16:15 +10:30
riscix.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * Makefile.am: Add eshelf32_linux.o and 2002-10-09 19:09:59 +00:00
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 bfd: 2002-06-04 02:57:44 +00:00
shelf_fd.sh 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
shelf_linux.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
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 * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
shlelf.sh * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define. 2001-11-22 09:08:05 +00:00
shlelf32.sh Contribute sh64-elf. 2002-02-08 06:39:01 +00:00
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 bfd: 2002-06-04 02:57:44 +00:00
shlelf64.sh Contribute sh64-elf. 2002-02-08 06:39:01 +00:00
shlelf64_nbsd.sh bfd: 2002-06-04 02:57:44 +00:00
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 bfd: 2002-01-08 04:23:02 +00:00
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 * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed 2010-10-12 18:39:36 +00: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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
st2000.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
tic30coff.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
tic54xcoff.sh tic54x/ibmc54xdsp target for ld. 2000-06-20 13:29:07 +00:00
tic80coff.sh Remove trailing white spaces in ld 2013-01-10 20:08:03 +00:00
v850.sh Add EXTERN references to __ctbpm __gp and __ep. 2002-09-02 17:03:30 +00:00
v850_rh850.sh 2012-11-09 Nick Clifton <nickc@redhat.com> 2012-11-09 17:36:19 +00:00
vanilla.sh * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use 2003-10-16 08:46:35 +00:00
vax.sh * emulparams/vax.sh (OUTPUT_FORMAT): Use a.out-vax-bsd format. 2002-07-01 08:32:30 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
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 19990502 sourceware import 1999-05-03 07:29:11 +00:00
z8002.sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00

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-2014 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.