diff options
Diffstat (limited to 'ld/testsuite/ld-vax-elf/vax-elf.exp')
-rw-r--r-- | ld/testsuite/ld-vax-elf/vax-elf.exp | 85 |
1 files changed, 83 insertions, 2 deletions
diff --git a/ld/testsuite/ld-vax-elf/vax-elf.exp b/ld/testsuite/ld-vax-elf/vax-elf.exp index 2748000..fb1fc3b 100644 --- a/ld/testsuite/ld-vax-elf/vax-elf.exp +++ b/ld/testsuite/ld-vax-elf/vax-elf.exp @@ -51,7 +51,7 @@ run_ld_link_tests [list \ "plt-local"]] # Global offset table tests. Make sure hidden symbols do not get GOT -# assignments. +# assignments. Also verify offset references. run_ld_link_tests [list \ [list "GOT test (auxiliary shared library)" \ "-shared" "" \ @@ -59,18 +59,48 @@ run_ld_link_tests [list \ { got-local-aux.s } \ {} \ "got-local-aux.so"] \ + [list "GOT test (auxiliary shared library for offsets)" \ + "-shared" "" \ + "-k" \ + { got-local-aux-off.s } \ + {} \ + "got-local-aux-off.so"] \ [list "GOT test (object 1)" \ "-r" "" \ "-k" \ { got-local-ref.s } \ {} \ "got-local-ref-r.o"] \ + [list "GOT test (object 1 hidden reference with offset)" \ + "-r" "" \ + "-k" \ + { got-local-ref-off-hidden.s } \ + {} \ + "got-local-ref-off-hidden-r.o"] \ + [list "GOT test (object 1 visible reference with offset)" \ + "-r" "" \ + "-k" \ + { got-local-ref-off-visible.s } \ + {} \ + "got-local-ref-off-visible-r.o"] \ + [list "GOT test (object 1 external reference with offset)" \ + "-r" "" \ + "-k" \ + { got-local-ref-off-external.s } \ + {} \ + "got-local-ref-off-external-r.o"] \ [list "GOT test (object 2)" \ "-r" "" \ "-k" \ { got-local-def.s } \ {} \ "got-local-def-r.o"] \ + [list "GOT test (object 2 for offsets)" \ + "-r" "" \ + "-k" \ + { got-local-def-off.s } \ + {} \ + "got-local-def-off-r.o"] \ [list "GOT test (executable)" \ "-e 0 tmpdir/got-local-aux.so tmpdir/got-local-ref-r.o \ tmpdir/got-local-def-r.o" "" \ @@ -84,7 +114,58 @@ run_ld_link_tests [list \ "" \ {} \ { { readelf "-x .got" got-local-lib.xd } } \ - "got-local-lib.so"]] + "got-local-lib.so"] \ + [list "GOT test (executable hidden reference with offset)" \ + "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-hidden-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { readelf "-x .got" got-local-exe-off.xd } \ + { objdump -d got-local-exe-off-hidden.dd } } \ + "got-local-exe-off-hidden"] \ + [list "GOT test (shared library hidden reference with offset)" \ + "-shared -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-hidden-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { readelf "-x .got" got-local-lib-off.xd } \ + { objdump -d got-local-lib-off-hidden.dd } } \ + "got-local-lib-off-hidden.so"] \ + [list "GOT test (executable visible reference with offset)" \ + "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-visible-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { readelf "-x .got" got-local-exe-off.xd } \ + { objdump -d got-local-exe-off-visible.dd } } \ + "got-local-exe-off-visible"] \ + [list "GOT test (shared library visible reference with offset)" \ + "-shared -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-visible-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { ld got-local-lib-off-visible.ed } } \ + "got-local-lib-off-visible.so"] \ + [list "GOT test (executable external reference with offset)" \ + "-e 0 -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-external-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { ld got-local-off-external.ed } } \ + "got-local-exe-off-external"] \ + [list "GOT test (shared library external reference with offset)" \ + "-shared -T got-local.ld tmpdir/got-local-aux-off.so \ + tmpdir/got-local-ref-off-external-r.o \ + tmpdir/got-local-def-off-r.o" "" \ + "" \ + {} \ + { { ld got-local-off-external.ed } } \ + "got-local-lib-off-external.so"]] # Export class relocation tests. run_ld_link_tests [list \ |