diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2014-12-01 06:06:21 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-12-01 06:06:21 -0800 |
commit | fb389763e0ee42be2f221da60e1c126314857d11 (patch) | |
tree | a4c3a155820ad2a6cfdb142b2e234dd55083434b /ld | |
parent | 55cfb2c4c8accd5031fd7c8167988fc4624e847c (diff) | |
download | gdb-fb389763e0ee42be2f221da60e1c126314857d11.zip gdb-fb389763e0ee42be2f221da60e1c126314857d11.tar.gz gdb-fb389763e0ee42be2f221da60e1c126314857d11.tar.bz2 |
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.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr16452.map | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr16452.od | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr16452a.c | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr16452b.c | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr16457.od | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/shared.exp | 12 |
7 files changed, 42 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index c87cc57..ef59947 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2014-12-01 H.J. Lu <hongjiu.lu@intel.com> + + 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 <hongjiu.lu@intel.com> * 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 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 00a4983..3fc1e4b 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 |