aboutsummaryrefslogtreecommitdiff
path: root/symlink-tree
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-04-19 01:26:57 +0930
committerAlan Modra <amodra@gmail.com>2017-04-19 20:39:52 +0930
commit954b63d4c8645f86e40c7ef6c6d60acd2bf019de (patch)
tree7e351a33b44fe2672265e418e9d3d4f9e38215d1 /symlink-tree
parent951787ed6d13f8f441d93fc3f6fb870c234774af (diff)
downloadgdb-954b63d4c8645f86e40c7ef6c6d60acd2bf019de.zip
gdb-954b63d4c8645f86e40c7ef6c6d60acd2bf019de.tar.gz
gdb-954b63d4c8645f86e40c7ef6c6d60acd2bf019de.tar.bz2
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.
Diffstat (limited to 'symlink-tree')
0 files changed, 0 insertions, 0 deletions