diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-03-20 03:44:56 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-03-20 03:44:56 +0000 |
commit | a25fe6b81292e5d6e66cefb2af5629fdb5d7ae07 (patch) | |
tree | 932ce2c6337abca34cf7c358c91a88fd64da497d /ld/testsuite/ld-elf | |
parent | 779d61b754ac7a28814b89e7664a8488ff894426 (diff) | |
download | binutils-redhat-a25fe6b81292e5d6e66cefb2af5629fdb5d7ae07.tar.gz |
bfd/
* elflink.c (_bfd_elf_make_dynamic_reloc_section): Override
sh_type according to is_rela.
ld/testsuite/
* ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test.
* ld-elf/shared.exp: Build and run it.
Diffstat (limited to 'ld/testsuite/ld-elf')
-rw-r--r-- | ld/testsuite/ld-elf/rel.c | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/relmain.c | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/relmain.out | 0 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/shared.exp | 6 |
4 files changed, 22 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/rel.c b/ld/testsuite/ld-elf/rel.c new file mode 100644 index 0000000000..fd94f71919 --- /dev/null +++ b/ld/testsuite/ld-elf/rel.c @@ -0,0 +1,9 @@ +static int seven = 7; +static int *__attribute__((section("auto"))) auto_10 = &seven; + +int +eight (void) +{ + extern int *__start_auto[], *__stop_auto[]; + return *auto_10 + __stop_auto - __start_auto; +} diff --git a/ld/testsuite/ld-elf/relmain.c b/ld/testsuite/ld-elf/relmain.c new file mode 100644 index 0000000000..f72dd54ae5 --- /dev/null +++ b/ld/testsuite/ld-elf/relmain.c @@ -0,0 +1,7 @@ +extern int eight (void); + +int +main (void) +{ + return eight () - 8; +} diff --git a/ld/testsuite/ld-elf/relmain.out b/ld/testsuite/ld-elf/relmain.out new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/ld/testsuite/ld-elf/relmain.out diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index 2feb73086c..8a7590a100 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -203,6 +203,9 @@ set build_tests { {"Build needed1b.so with --no-copy-dt-needed-entries" "-shared tmpdir/libneeded1pic.o -Wl,--no-copy-dt-needed-entries -Ltmpdir -lneeded1a" "" {dummy.c} {} "needed1d.so"} + {"Build librel.so" + "-shared" "-fPIC" + {rel.c} {} "librel.so"} } run_cc_link_tests $build_tests @@ -347,6 +350,9 @@ set run_tests { {"Link with --copy-dt-needed-entries" "tmpdir/libneeded1c.o --copy-dt-needed-entries -rpath=tmpdir -Ltmpdir -lneeded1a" "" {dummy.c} "needed1b" "needed1.out"} + {"Run relmain" + "--no-as-needed -rpath=tmpdir -Ltmpdir -lrel" "" + {relmain.c} "relmain" "relmain.out"} } # NetBSD ELF systems do not currently support the .*_array sections. |