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
aarch64cloudabib.sh
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
aarch64fbsdb.sh
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
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
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
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
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
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
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
h8300elf.sh
h8300h.sh
h8300helf_linux.sh
h8300helf.sh
h8300hn.sh
h8300hnelf.sh
h8300s.sh
h8300self_linux.sh
h8300self.sh
h8300sn.sh
h8300snelf.sh
h8300sx.sh
h8300sxelf_linux.sh
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
msp430X.sh
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
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
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
v850.sh
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.