From: H.J. Lu Date: Mon, 1 Dec 2014 14:06:21 +0000 (-0800) Subject: Add tests for PR ld/16452 and PR ld/16457 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fb389763e0ee42be2f221da60e1c126314857d11;p=binutils-gdb.git 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. --- diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index c87cc577209..ef599472216 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-27 H.J. Lu * ld-mips-elf/got-vers-1.rd: Add symbol version string to diff --git a/ld/testsuite/ld-elf/pr16452.map b/ld/testsuite/ld-elf/pr16452.map new file mode 100644 index 00000000000..6262600a49f --- /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 00000000000..297f867f632 --- /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 00000000000..c9b17842a8f --- /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 00000000000..9ed21492823 --- /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 00000000000..b29c4a1b8c9 --- /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 00a4983c448..3fc1e4b53d4 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -255,6 +255,18 @@ set build_tests { {"Build libpr16496b.so" "-shared tmpdir/pr16496b.o tmpdir/libpr16496a.so" "" {dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"} + {"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