diff options
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/elf.exp | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr22374-1.r | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr22374-2.r | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr22374a.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr22374b.s | 5 |
6 files changed, 39 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4fb7e84..84bebb3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,14 @@ 2017-11-01 Alan Modra <amodra@gmail.com> + PR 22374 + * testsuite/ld-elf/pr22374a.s, + * testsuite/ld-elf/pr22374b.s, + * testsuite/ld-elf/pr22374-1.r, + * testsuite/ld-elf/pr22374-2.r: New test. + * testsuite/ld-elf/elf.exp: Run it. + +2017-11-01 Alan Modra <amodra@gmail.com> + * testsuite/ld-elf/elf.exp: Merge some conditionals, a better name than "shared library for next test", and use xfail arg of run_ld_link_tests in a few places. diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 29cc5e0..acdad8d 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -192,6 +192,17 @@ if { [check_shared_lib_support] } then { "pr20995-2" \ "" "tmpdir/pr20995-2.so" "$AFLAGS_NONPIC" \ {pr20995a.s} {{readelf {-S --wide} pr20995.r}} "pr20995-2"]] + + setup_xfail "tic6x-*-*" + run_ld_link_tests { + {"Build pr22374 shared library" + "-shared" "" "" "pr22374b.s" {} "pr22374.so" } + {"pr22374 function pointer initialization" + "" "tmpdir/pr22374.so" "" "pr22374a.s" + { {readelf {--wide -r --dyn-syms} "pr22374-1.r"} + {readelf {--wide -r} "pr22374-2.r"} } + "pr22374" } + } } if [is_underscore_target] { diff --git a/ld/testsuite/ld-elf/pr22374-1.r b/ld/testsuite/ld-elf/pr22374-1.r new file mode 100644 index 0000000..0c4fac4 --- /dev/null +++ b/ld/testsuite/ld-elf/pr22374-1.r @@ -0,0 +1,8 @@ +Relocation section .* contains 1 entries: +.* +.* +0+ +foo.* + +Symbol table '.dynsym' contains .* entries: +#... +.*: 0+ +0 FUNC +GLOBAL DEFAULT +UND foo +#pass diff --git a/ld/testsuite/ld-elf/pr22374-2.r b/ld/testsuite/ld-elf/pr22374-2.r new file mode 100644 index 0000000..67cd845 --- /dev/null +++ b/ld/testsuite/ld-elf/pr22374-2.r @@ -0,0 +1,4 @@ +#failif +Relocation section .* contains 1 entries: +.* +.*COPY.* diff --git a/ld/testsuite/ld-elf/pr22374a.s b/ld/testsuite/ld-elf/pr22374a.s new file mode 100644 index 0000000..e85c120 --- /dev/null +++ b/ld/testsuite/ld-elf/pr22374a.s @@ -0,0 +1,2 @@ + .data + .dc.a foo diff --git a/ld/testsuite/ld-elf/pr22374b.s b/ld/testsuite/ld-elf/pr22374b.s new file mode 100644 index 0000000..24d89de --- /dev/null +++ b/ld/testsuite/ld-elf/pr22374b.s @@ -0,0 +1,5 @@ + .global foo + .type foo, %function +foo: + .dc.a 0 + .size foo, .-foo |