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
..
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
aarch64elf32.sh Support -pie for aarch64*-elf targets. 2016-07-19 10:19:06 -07:00
aarch64elf32b.sh
aarch64elf.sh Support -pie for aarch64*-elf targets. 2016-07-19 10:19:06 -07: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
aarch64linux32.sh
aarch64linux32b.sh
aarch64linux.sh
aarch64linuxb.sh
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_prof.sh ld/arc: Fix linker for big-endian arc targets 2016-04-05 23:08:28 +01:00
arcelf.sh [ARC] Fix/improve small data support. 2016-07-14 10:08:57 +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
arclinux.sh [ARC] Emulation and default script template changes. 2016-05-19 15:06:50 +02: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_fbsd.sh
armelf_fuchsia.sh Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
armelf_linux_eabi.sh
armelf_linux.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
armelf.sh Support -pie for arm*-eabi targets. 2016-08-09 12:09:17 -07:00
armelfb_fbsd.sh
armelfb_fuchsia.sh Add support for Fushia OS. 2016-12-02 10:44:29 +00:00
armelfb_linux_eabi.sh
armelfb_linux.sh
armelfb_nacl.sh
armelfb_nbsd.sh
armelfb.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
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
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_sol2.sh
elf32_sparc_vxworks.sh
elf32_sparc.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_nacl.sh
elf32_x86_64.sh X32: Place .plt.got section after .plt section 2017-01-10 13:57:39 -08:00
elf32am33lin.sh
elf32b4300.sh
elf32bfin.sh
elf32bfinfd.sh
elf32bmip.sh
elf32bmipn32-defs.sh Add workaround for bash 4.2 scripting problem. 2016-10-06 13:49:09 +01:00
elf32bmipn32.sh
elf32bsmip.sh
elf32btsmip_fbsd.sh
elf32btsmip.sh
elf32btsmipn32_fbsd.sh
elf32btsmipn32.sh
elf32cr16.sh
elf32cr16c.sh
elf32crx.sh
elf32ebmip.sh
elf32ebmipvxworks.sh
elf32elmip.sh
elf32elmipvxworks.sh
elf32epiphany_4x4.sh
elf32epiphany.sh
elf32fr30.sh
elf32frv.sh
elf32frvfd.sh
elf32ft32.sh FT32 initial support 2015-01-28 16:25:18 +10:30
elf32i370.sh
elf32ip2k.sh
elf32iq10.sh
elf32iq2000.sh
elf32l4300.sh
elf32lm32.sh
elf32lm32fd.sh
elf32lmip.sh
elf32lppc.sh
elf32lppclinux.sh
elf32lppcnto.sh
elf32lppcsim.sh
elf32lr5900.sh
elf32lr5900n32.sh
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_fbsd.sh
elf32ltsmip.sh
elf32ltsmipn32_fbsd.sh
elf32ltsmipn32.sh
elf32m32c.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
elf32mb_linux.sh
elf32mbel_linux.sh
elf32mcore.sh
elf32mep.sh
elf32metag.sh Support -z relro on metag 2017-01-02 22:44:29 +10:30
elf32microblaze.sh
elf32microblazeel.sh
elf32mipswindiss.sh
elf32moxie.sh
elf32mt.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
elf32or1k_linux.sh
elf32or1k.sh
elf32ppc_fbsd.sh
elf32ppc.sh
elf32ppccommon.sh Implement -z dynamic-undefined-weak 2017-04-19 20:39:52 +09:30
elf32ppclinux.sh
elf32ppcnto.sh
elf32ppcsim.sh
elf32ppcvxworks.sh
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_be.sh
elf32tilegx.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_fbsd.sh
elf64_ia64_vms.sh
elf64_ia64.sh
elf64_s390.sh S/390: Move binary start to 16M. 2016-10-10 17:09:03 +02:00
elf64_sparc_fbsd.sh
elf64_sparc_sol2.sh
elf64_sparc.sh
elf64alpha_fbsd.sh
elf64alpha_nbsd.sh
elf64alpha.sh
elf64bmip-defs.sh
elf64bmip.sh
elf64btsmip_fbsd.sh
elf64btsmip.sh
elf64hppa.sh
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_fbsd.sh
elf64ltsmip.sh
elf64mmix.sh
elf64ppc_fbsd.sh
elf64ppc.sh Align .TOC. for PowerPC64 2015-04-23 09:49:19 +09:30
elf64rdos.sh
elf64tilegx_be.sh
elf64tilegx.sh
elf_fbsd.sh
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
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_i386.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_fbsd.sh
elf_k1om.sh More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes 2016-05-05 08:43:58 -07:00
elf_l1om_fbsd.sh
elf_l1om.sh More setting CHECK_RELOCS_AFTER_OPEN_INPUT to yes 2016-05-05 08:43:58 -07:00
elf_nacl.sh
elf_s390.sh
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
elf_x86_64_sol2.sh
elf_x86_64.sh Check ELF relocs after opening all input files 2016-04-20 05:26:51 -07:00
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_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300elf.sh
h8300h.sh
h8300helf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300helf.sh
h8300hn.sh
h8300hnelf.sh
h8300s.sh
h8300self_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300self.sh
h8300sn.sh
h8300snelf.sh
h8300sx.sh
h8300sxelf_linux.sh Add support for the h8300-linux target. 2015-02-23 17:04:53 +00:00
h8300sxelf.sh
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
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_posix.sh
i386pe.sh
i386pep.sh
lnk960.sh
m32relf_linux.sh
m32relf.sh
m32rlelf_linux.sh
m32rlelf.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
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
nds32belf16m.sh
nds32belf_linux.sh
nds32belf.sh
nds32elf16m.sh
nds32elf_linux.sh
nds32elf.sh
news.sh
nios2elf.sh
nios2linux.sh
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
README Update year range in copyright notice of all files. 2017-01-02 14:08:56 +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
score7_elf.sh
sh.sh
shelf32_linux.sh
shelf32_nbsd.sh
shelf32.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shelf64_nbsd.sh
shelf64.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
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
shelf.sh Move .stack before debug sections 2017-02-20 19:33:28 +10:30
shl.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
shlelf32.sh
shlelf64_nbsd.sh
shlelf64.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
shlelf.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_onchip.sh
tic3xcoff.sh
tic4xcoff.sh
tic30aout.sh
tic30coff.sh
tic54xcoff.sh
tic80coff.sh
v850_rh850.sh Adds support for generating notes in V850 binaries. 2015-02-24 17:54:09 +00:00
v850.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

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.