From dda8ddc56f160befb8f8fc3ddc69d66cec6ac4f8 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 20 Nov 2012 22:17:27 +0000 Subject: Remove ref_dynamic_nonweak added by accident bfd/ 2012-11-20 H.J. Lu PR ld/14862 * elf-bfd.h (elf_link_hash_entry): Remove ref_dynamic_nonweak added by accident. (elf_link_add_object_symbols): Don't set nor check ref_dynamic_nonweak. ld/testsuite/ 2012-11-20 H.J. Lu PR ld/14862 * ld-elf/shared.exp (build_tests): Build libpr14862-1.o and libpr14862.so. (run_tests): Test pr14862. * ld-elf/pr14862-1.c: New file. * ld-elf/pr14862-2.c: Likewise. * ld-elf/pr14862.map: Likewise. * ld-elf/pr14862.out: Likewise. --- ld/testsuite/ld-elf/pr14862-1.c | 9 +++++++++ ld/testsuite/ld-elf/pr14862-2.c | 7 +++++++ ld/testsuite/ld-elf/pr14862.map | 4 ++++ ld/testsuite/ld-elf/pr14862.out | 1 + ld/testsuite/ld-elf/shared.exp | 9 +++++++++ 5 files changed, 30 insertions(+) create mode 100644 ld/testsuite/ld-elf/pr14862-1.c create mode 100644 ld/testsuite/ld-elf/pr14862-2.c create mode 100644 ld/testsuite/ld-elf/pr14862.map create mode 100644 ld/testsuite/ld-elf/pr14862.out (limited to 'ld/testsuite/ld-elf') diff --git a/ld/testsuite/ld-elf/pr14862-1.c b/ld/testsuite/ld-elf/pr14862-1.c new file mode 100644 index 0000000..258a834 --- /dev/null +++ b/ld/testsuite/ld-elf/pr14862-1.c @@ -0,0 +1,9 @@ +extern void bar () __attribute__((weak)); + +int +main (void) +{ + if (bar) + bar (); + return 0; +} diff --git a/ld/testsuite/ld-elf/pr14862-2.c b/ld/testsuite/ld-elf/pr14862-2.c new file mode 100644 index 0000000..1b9b393 --- /dev/null +++ b/ld/testsuite/ld-elf/pr14862-2.c @@ -0,0 +1,7 @@ +#include + +void +bar (void) +{ + printf ("OK\n"); +} diff --git a/ld/testsuite/ld-elf/pr14862.map b/ld/testsuite/ld-elf/pr14862.map new file mode 100644 index 0000000..2947640 --- /dev/null +++ b/ld/testsuite/ld-elf/pr14862.map @@ -0,0 +1,4 @@ +VERS_1 { + global: bar; + local: *; +}; diff --git a/ld/testsuite/ld-elf/pr14862.out b/ld/testsuite/ld-elf/pr14862.out new file mode 100644 index 0000000..d86bac9 --- /dev/null +++ b/ld/testsuite/ld-elf/pr14862.out @@ -0,0 +1 @@ +OK diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index c9f2056..9b35d53 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -173,6 +173,12 @@ set build_tests { {"Build libpr14323-2.so" "-shared" "-fPIC" {pr14323-2.c} {} "libpr14323-2.so"} + {"Build pr14862-1.o" + "-r -nostdlib" "" + {pr14862-1.c} {} "libpr14862-1.o"} + {"Build libpr14862.so" + "-shared -Wl,--version-script=pr11138-1.map" "-fPIC" + {pr14862-2.c} {} "libpr14862.so"} } run_cc_link_tests $build_tests @@ -308,6 +314,9 @@ set run_tests { {"Run with pr14323-1.c pr14323-2.so" "tmpdir/libpr14323-2.so" "" {pr14323-1.c} "pr14323" "pass.out"} + {"Run with pr14862-1.c libpr14862.so" + "--as-needed tmpdir/libpr14862-1.o tmpdir/libpr14862.so" "" + {dummy.c} "pr14862" "pr14862.out"} } # NetBSD ELF systems do not currently support the .*_array sections. -- cgit v1.1