From 89e0345fdfad506e4692126cabd618ef859dc63f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 1 Dec 2014 06:06:21 -0800 Subject: [PATCH] Add tests for PR ld/16452 and PR ld/16457 PR ld/16452 PR ld/16457 * ld-elf/pr16452.map: New file. * ld-elf/pr16452.od: Likewise. * ld-elf/pr16452a.c: Likewise. * ld-elf/pr16452b.c: Likewise. * ld-elf/pr16457.od: Likewise. * ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and PR ld/16457. --- ld/testsuite/ChangeLog | 13 +++++++++++++ ld/testsuite/ld-elf/pr16452.map | 1 + ld/testsuite/ld-elf/pr16452.od | 7 +++++++ ld/testsuite/ld-elf/pr16452a.c | 1 + ld/testsuite/ld-elf/pr16452b.c | 2 ++ ld/testsuite/ld-elf/pr16457.od | 6 ++++++ ld/testsuite/ld-elf/shared.exp | 12 ++++++++++++ 7 files changed, 42 insertions(+) create mode 100644 ld/testsuite/ld-elf/pr16452.map create mode 100644 ld/testsuite/ld-elf/pr16452.od create mode 100644 ld/testsuite/ld-elf/pr16452a.c create mode 100644 ld/testsuite/ld-elf/pr16452b.c create mode 100644 ld/testsuite/ld-elf/pr16457.od diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index e09af2b..881f5ce 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2014-12-01 H.J. Lu + + PR ld/16452 + PR ld/16457 + * ld-elf/pr16452.map: New file. + * ld-elf/pr16452.od: Likewise. + * ld-elf/pr16452a.c: Likewise. + * ld-elf/pr16452b.c: Likewise. + * ld-elf/pr16457.od: Likewise. + + * ld-elf/shared.exp (build_tests): Add tests for PR ld/16452 and + PR ld/16457. + 2014-11-18 H.J. Lu * ld-x86-64/mpx.exp: Always run mpx3 and mpx4 tests in 64-bit. diff --git a/ld/testsuite/ld-elf/pr16452.map b/ld/testsuite/ld-elf/pr16452.map new file mode 100644 index 0000000..6262600 --- /dev/null +++ b/ld/testsuite/ld-elf/pr16452.map @@ -0,0 +1 @@ +FOO{global:f;}; diff --git a/ld/testsuite/ld-elf/pr16452.od b/ld/testsuite/ld-elf/pr16452.od new file mode 100644 index 0000000..297f867 --- /dev/null +++ b/ld/testsuite/ld-elf/pr16452.od @@ -0,0 +1,7 @@ +#failif +#... +Version References: +#... + required from libpr16452a.so: + 0x[0-9a-f]+ 0x00 .. FOO +#... diff --git a/ld/testsuite/ld-elf/pr16452a.c b/ld/testsuite/ld-elf/pr16452a.c new file mode 100644 index 0000000..c9b1784 --- /dev/null +++ b/ld/testsuite/ld-elf/pr16452a.c @@ -0,0 +1 @@ +int f(void){return 0;} diff --git a/ld/testsuite/ld-elf/pr16452b.c b/ld/testsuite/ld-elf/pr16452b.c new file mode 100644 index 0000000..9ed2149 --- /dev/null +++ b/ld/testsuite/ld-elf/pr16452b.c @@ -0,0 +1,2 @@ +int f(void) __attribute__((weak)); +int main(void){return f?f():0;} diff --git a/ld/testsuite/ld-elf/pr16457.od b/ld/testsuite/ld-elf/pr16457.od new file mode 100644 index 0000000..b29c4a1 --- /dev/null +++ b/ld/testsuite/ld-elf/pr16457.od @@ -0,0 +1,6 @@ +#failif +#... +Dynamic Section: +#... +[ ]+NEEDED[ ]+libpr16452a.so +#... diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index b55856a..219e721 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -246,6 +246,18 @@ set build_tests { {"Build dynamic-1" "-Wl,--dynamic-list,dynamic-1.syms -Wl,--gc-sections" "-ffunction-sections" {dynamic-1.c} {{readelf {-s} dynamic-1.rd}} "dynamic-1"} + {"Build libpr16452a.so" + "-shared -Wl,-soname,libpr16452a.so,--version-script=pr16452.map" "-fPIC" + {pr16452a.c} {} "libpr16452a.so"} + {"Build libpr16452b.so" + "-shared -Wl,-soname,libpr16452b.so,--no-as-needed tmpdir/libpr16452a.so" "-fPIC" + {dummy.c} {} "libpr16452b.so"} + {"Build pr16452" + "tmpdir/libpr16452b.so -Wl,-rpath=tmpdir" "" + {pr16452b.c} {{objdump {-p} pr16452.od}} "pr16452"} + {"Build pr16457" + "tmpdir/libpr16452b.so -Wl,-rpath=tmpdir" "" + {pr16452b.c} {{objdump {-p} pr16457.od}} "pr16457"} } run_cc_link_tests $build_tests -- 2.7.4