binutils-gdb/ld/emulparams
Alan Modra 954b63d4c8 Implement -z dynamic-undefined-weak
-z nodynamic-undefined-weak is only implemented for x86.  (The sparc
backend has some support code but doesn't enable the option by
including ld/emulparams/dynamic_undefined_weak.sh, and since the
support looks like it may be broken I haven't enabled it.)  This patch
adds the complementary -z dynamic-undefined-weak, extends both options
to affect building of shared libraries as well as executables, and
adds support for the option on powerpc.

include/
	* bfdlink.h (struct bfd_link_info <dynamic_undefined_weak>):
	Revise comment.
bfd/
	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
	or make dynamic for info->dynamic_undefined_weak 0 and 1.
	* elf32-ppc.c:Formatting.
	(ensure_undefweak_dynamic): Don't make dynamic when
	info->dynamic_undefined_weak is zero.
	(allocate_dynrelocs): Discard undefweak dyn_relocs for
	info->dynamic_undefined_weak.  Discard undef dyn_relocs when
	not default visibility.  Discard undef and undefweak
	dyn_relocs earlier.
	(ppc_elf_relocate_section): Adjust to suit.
	* elf64-ppc.c: Formatting.
	(ensure_undefweak_dynamic): Don't make dynamic when
	info->dynamic_undefined_weak is zero.
	(allocate_dynrelocs): Discard undefweak dyn_relocs for
	info->dynamic_undefined_weak.  Discard them earlier.
ld/
	* ld.texinfo (dynamic-undefined-weak): Document.
	(nodynamic-undefined-weak): Document that this option now can
	be used with shared libs.
	* emulparams/dynamic_undefined_weak.sh: Support -z
	dynamic-undefined-weak.
	* emulparams/elf32ppccommon.sh: Include dynamic_undefined_weak.sh.
	* testsuite/ld-undefined/weak-undef.exp (undef_weak_so),
	(undef_weak_exe): New.  Use them.  Add -z dynamic-undefined-weak
	and -z nodynamic-undefined-weak tests.
	* Makefile.am: Update powerpc dependencies.
	* Makefile.in: Regenerate.
2017-04-19 20:39:52 +09:30
..
README Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
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 Support -pie for aarch64*-elf targets. 2016-07-19 10:19:06 -07:00
aarch64elf32.sh Support -pie for aarch64*-elf targets. 2016-07-19 10:19:06 -07:00
aarch64elf32b.sh [AArch64, ILP32] 6/6 Add big-endian targets 2013-06-26 10:56:05 +00:00
aarch64elfb.sh
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
arc-endianness.sh ld/arc: Make little endian default choice for linker scripts 2016-04-07 16:17:08 +01:00
arc-nps.sh [ARC] Add new linker emulation for nps 2017-01-10 10:55:13 +00:00
arcelf.sh [ARC] Fix/improve small data support. 2016-07-14 10:08:57 +02:00
arcelf_prof.sh ld/arc: Fix linker for big-endian arc targets 2016-04-05 23:08:28 +01:00
arclinux.sh [ARC] Emulation and default script template changes. 2016-05-19 15:06:50 +02:00
arclinux_nps.sh [ARC] Add new linker emulation for nps 2017-01-10 10:55:13 +00:00
arclinux_prof.sh arc/ld: Remove duplicate TEMPLATE_NAME from emulparam file 2016-11-28 22:30:17 +00:00
arcv2elf.sh ld/arc: Fix linker for big-endian arc targets 2016-04-05 23:08:28 +01:00
arcv2elfx.sh ld/arc: Fix linker for big-endian arc targets 2016-04-05 23:08:28 +01:00
arm_epoc_pe.sh
arm_wince_pe.sh
armaoutb.sh
armaoutl.sh
armcoff.sh
armelf.sh Support -pie for arm*-eabi targets. 2016-08-09 12:09:17 -07: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_fuchsia.sh Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
armelf_linux.sh ld/ARM: Increase maximum page size to 64kB 2014-07-08 15:00:12 +01:00
armelf_linux_eabi.sh
armelf_nacl.sh
armelf_nbsd.sh
armelf_phoenix.sh Add support for configuring for the ARM Phoenix target. 2016-05-23 13:53:07 +01:00
armelf_vxworks.sh
armelfb.sh
armelfb_fbsd.sh ld/ARM: Add target arm*b-*-freebsd*, update target arm*-*-freebsd*. 2014-06-18 21:58:19 +02:00
armelfb_fuchsia.sh Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
armelfb_linux.sh
armelfb_linux_eabi.sh
armelfb_nacl.sh
armelfb_nbsd.sh
armnbsd.sh
armnto.sh
armpe.sh
armsymbian.sh
avr1.sh
avr2.sh
avr3.sh
avr4.sh
avr5.sh
avr6.sh
avr25.sh
avr31.sh
avr35.sh
avr51.sh
avrtiny.sh Add support for the AVR Tiny series of microcontrollers. 2014-07-01 10:20:17 +01:00
avrxmega1.sh
avrxmega2.sh
avrxmega3.sh
avrxmega4.sh
avrxmega5.sh
avrxmega6.sh
avrxmega7.sh
call_nop.sh Add "-z call-nop=PADDING" option to ld 2015-10-22 04:56:39 -07:00
coff_i860.sh
coff_sparc.sh
crisaout.sh
criself.sh Fix long-standing buglet and fallout from now-default initfini-array. 2017-01-29 13:53:58 +01:00
crislinux.sh * emulparams/crislinux.sh (COMMONPAGESIZE): Define. 2014-01-10 01:25:26 +01:00
d10velf.sh
d30v_e.sh
d30v_o.sh
d30velf.sh
delta68.sh
dynamic_undefined_weak.sh Implement -z dynamic-undefined-weak 2017-04-19 20:39:52 +09:30
elf32_dlx.sh
elf32_i860.sh
elf32_i960.sh
elf32_sparc.sh
elf32_sparc_sol2.sh
elf32_sparc_vxworks.sh
elf32_spu.sh
elf32_tic6x_be.sh
elf32_tic6x_elf_be.sh
elf32_tic6x_elf_le.sh
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
elf32_tic6x_linux_le.sh
elf32_x86_64.sh X32: Place .plt.got section after .plt section 2017-01-10 13:57:39 -08:00
elf32_x86_64_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf32am33lin.sh
elf32b4300.sh
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 Add workaround for bash 4.2 scripting problem. 2016-10-06 13:49:09 +01:00
elf32bmipn32.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32bsmip.sh
elf32btsmip.sh bfd/ 2013-06-24 23:55:46 +00:00
elf32btsmip_fbsd.sh
elf32btsmipn32.sh
elf32btsmipn32_fbsd.sh
elf32cr16.sh
elf32cr16c.sh
elf32crx.sh
elf32ebmip.sh
elf32ebmipvxworks.sh
elf32elmip.sh
elf32elmipvxworks.sh
elf32epiphany.sh
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
elf32ft32.sh FT32 initial support 2015-01-28 16:25:18 +10:30
elf32i370.sh
elf32ip2k.sh
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
elf32lm32fd.sh
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
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
elf32lriscv-defs.sh Don't use "_gp" on RISC-V, use "_global_pointer$" instead 2017-02-13 09:53:54 -08:00
elf32lriscv.sh Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
elf32lsmip.sh
elf32ltsmip.sh
elf32ltsmip_fbsd.sh
elf32ltsmipn32.sh
elf32ltsmipn32_fbsd.sh
elf32m32c.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
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
elf32mep.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf32metag.sh Support -z relro on metag 2017-01-02 22:44:29 +10:30
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
elf32moxie.sh
elf32mt.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
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
elf32ppccommon.sh Implement -z dynamic-undefined-weak 2017-04-19 20:39:52 +09:30
elf32ppclinux.sh
elf32ppcnto.sh
elf32ppcsim.sh
elf32ppcvxworks.sh Fix ELF ppc32 targets that don't use ppc32elf.em 2014-02-27 23:39:01 +10:30
elf32ppcwindiss.sh
elf32rl78.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
elf32rx.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
elf32tilegx.sh
elf32tilegx_be.sh
elf32tilepro.sh
elf32vax.sh
elf32visium.sh Add Visium support to ld 2014-12-06 16:45:22 +01:00
elf32xc16x.sh
elf32xc16xl.sh
elf32xc16xs.sh
elf32xstormy16.sh
elf32xtensa.sh
elf64_aix.sh
elf64_ia64.sh
elf64_ia64_fbsd.sh
elf64_ia64_vms.sh
elf64_s390.sh S/390: Move binary start to 16M. 2016-10-10 17:09:03 +02:00
elf64_sparc.sh
elf64_sparc_fbsd.sh
elf64_sparc_sol2.sh
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
elf64btsmip_fbsd.sh
elf64hppa.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
elf64lppc.sh
elf64lriscv-defs.sh Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
elf64lriscv.sh Add support for RISC-V architecture. 2016-11-01 16:45:57 +00:00
elf64ltsmip.sh
elf64ltsmip_fbsd.sh
elf64mmix.sh
elf64ppc.sh Align .TOC. for PowerPC64 2015-04-23 09:49:19 +09:30
elf64ppc_fbsd.sh
elf64rdos.sh * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64rdos.c. 2013-01-23 10:31:13 +00:00
elf64tilegx.sh
elf64tilegx_be.sh
elf_fbsd.sh
elf_i386.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
elf_i386_be.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
elf_i386_chaos.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
elf_i386_fbsd.sh
elf_i386_ldso.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
elf_i386_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf_i386_sol2.sh
elf_i386_vxworks.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
elf_iamcu.sh More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes 2016-05-05 08:43:58 -07:00
elf_k1om.sh More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes 2016-05-05 08:43:58 -07:00
elf_k1om_fbsd.sh
elf_l1om.sh More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes 2016-05-05 08:43:58 -07:00
elf_l1om_fbsd.sh
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 Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07: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
elf_x86_64_nacl.sh bfd/ 2013-08-26 22:18:07 +00:00
elf_x86_64_sol2.sh
extern_protected_data.sh [x86] Resolve non-PIC undefweak symbols in executable 2016-02-26 04:55:57 -08:00
gld960.sh
gld960coff.sh
h8300.sh
h8300elf.sh
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
h8300hnelf.sh
h8300s.sh
h8300self.sh
h8300self_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300sn.sh
h8300snelf.sh
h8300sx.sh
h8300sxelf.sh
h8300sxelf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300sxn.sh
h8300sxnelf.sh
h8500.sh
h8500b.sh
h8500c.sh
h8500m.sh
h8500s.sh
hp3hpux.sh
hp300bsd.sh
hppa64linux.sh
hppaelf.sh
hppalinux.sh Support -z relro on hppa 2017-01-02 22:42:45 +10:30
hppanbsd.sh
hppaobsd.sh
i386aout.sh
i386beos.sh strip off +x bits on non-executable/script files 2013-12-07 02:03:03 -05:00
i386bsd.sh
i386coff.sh
i386go32.sh
i386linux.sh
i386lynx.sh
i386mach.sh
i386moss.sh
i386msdos.sh
i386nbsd.sh
i386nto.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
i386nw.sh
i386pe.sh Remove remaining default manifest support. 2014-04-09 17:12:30 +01:00
i386pe_posix.sh
i386pep.sh Remove remaining default manifest support. 2014-04-09 17:12:30 +01:00
lnk960.sh
m32relf.sh
m32relf_linux.sh
m32rlelf.sh
m32rlelf_linux.sh
m68hc11elf.sh
m68hc11elfb.sh
m68hc12elf.sh
m68hc12elfb.sh
m68k4knbsd.sh
m68kaout.sh
m68kaux.sh
m68kcoff.sh
m68kelf.sh
m68kelfnbsd.sh
m68klinux.sh
m68knbsd.sh
m68kpsos.sh
m88kbcs.sh
mcorepe.sh
mmo.sh
mn10200.sh
mn10300.sh
moxiebox.sh Add moxiebox target 2014-07-27 08:51:20 -04:00
msp430X.sh Change msp430 emulation to msp430elf 2015-04-24 17:05:52 -04:00
msp430elf.sh Fix the execution of the MSP430 simulator testsuite. 2016-01-05 16:43:58 +00: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
pc532macha.sh
pdp11.sh
pjelf.sh
pjlelf.sh
plt_unwind.sh Add ld_list_options 2015-04-08 04:55:23 -07:00
ppclynx.sh
ppcmacos.sh
ppcnw.sh
ppcpe.sh
pruelf.sh PRU LD Port 2016-12-31 12:04:11 +10:30
reloc_overflow.sh Add -z noreloc-overflow option to x86-64 ld 2016-03-15 11:07:54 -07:00
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 Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf32.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf32_linux.sh
shelf32_nbsd.sh
shelf64.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf64_nbsd.sh
shelf_fd.sh
shelf_linux.sh
shelf_nbsd.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf_nto.sh Fix SH GOT allocation in the presence of linker garbage collection. 2016-08-02 11:56:55 +01:00
shelf_uclinux.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf_vxworks.sh Fix SH GOT allocation in the presence of linker garbage collection. 2016-08-02 11:56:55 +01:00
shl.sh
shlelf.sh
shlelf32.sh
shlelf32_linux.sh Fix SH GOT allocation in the presence of linker garbage collection. 2016-08-02 11:56:55 +01:00
shlelf32_nbsd.sh
shlelf64.sh
shlelf64_nbsd.sh
shlelf_fd.sh
shlelf_linux.sh Fix SH GOT allocation in the presence of linker garbage collection. 2016-08-02 11:56:55 +01:00
shlelf_nbsd.sh
shlelf_nto.sh Fix SH GOT allocation in the presence of linker garbage collection. 2016-08-02 11:56:55 +01:00
shlelf_vxworks.sh
shlsymbian.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shpe.sh
solaris2.sh Solaris PIE support 2015-09-22 11:12:51 +02:00
sparcaout.sh
sparclinux.sh
sparcnbsd.sh
st2000.sh
sun3.sh
sun4.sh
tic3xcoff.sh
tic3xcoff_onchip.sh
tic4xcoff.sh
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
vax.sh
vaxnbsd.sh
vsta.sh
vxworks.sh
w65.sh
xgateelf.sh
z80.sh
z8001.sh
z8002.sh

README

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