diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-04-07 19:52:49 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-04-08 05:18:24 -0700 |
commit | d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f (patch) | |
tree | c855e9ef04d50e2ce21f832386556e64a1f1309d /ld/testsuite | |
parent | 94a94c904da29bb733c19b5a0a168557c1819720 (diff) | |
download | gdb-d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f.zip gdb-d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f.tar.gz gdb-d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f.tar.bz2 |
ld: Add PR ld/31615 tests
PR ld/31615
* testsuite/ld-plugin/lto.exp: Run ld/31615 tests.
* testsuite/ld-plugin/pr31615.ver: New file.
* testsuite/ld-plugin/pr31615a.c: Likewise.
* testsuite/ld-plugin/pr31615b.c: Likewise.
* testsuite/ld-plugin/pr31615c.c: Likewise.
* testsuite/ld-plugin/pr31615d.c: Likewise.
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ld-plugin/lto.exp | 34 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr31615.ver | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr31615a.c | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr31615b.c | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr31615c.c | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-plugin/pr31615d.c | 5 |
6 files changed, 66 insertions, 0 deletions
diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp index b56d71a..35ce387 100644 --- a/ld/testsuite/ld-plugin/lto.exp +++ b/ld/testsuite/ld-plugin/lto.exp @@ -555,6 +555,30 @@ set lto_link_elf_tests [list \ "" \ "pr31482c.so" \ ] \ + [list \ + "Build pr31615b.so" \ + "-shared -Wl,--version-script=pr31615.ver" \ + "-fPIC" \ + {pr31615b.c} \ + "" \ + "pr31615b.so" \ + ] \ + [list \ + "Build pr31615c.so" \ + "-shared -Wl,--version-script=pr31615.ver" \ + "-fPIC" \ + {pr31615c.c} \ + "" \ + "pr31615c.so" \ + ] \ + [list \ + "Build pr31615d.so" \ + "-shared -Wl,--version-script=pr31615.ver" \ + "-fPIC" \ + {pr31615d.c} \ + "" \ + "pr31615d.so" \ + ] \ ] # PR 14918 checks that libgcc is not spuriously included in a shared link of @@ -754,6 +778,16 @@ set lto_run_elf_shared_tests [list \ {-Wl,--as-needed,-R,tmpdir} {} \ {pr31482a.c} {pr31489b.exe} {pass1.out} {-flto} {c} {} \ {tmpdir/pr31482c.so tmpdir/pr31482b.a}] \ + [list {pr31615a} \ + {-Wl,-R,tmpdir} {} \ + {pr31615a.c} {pr31615a.exe} {pass.out} {-O3 -flto} {c} {} \ + {-Wl,--as-needed tmpdir/pr31615b.so -Wl,--no-as-needed \ + tmpdir/pr31615d.so}] \ + [list {pr31615b} \ + {-Wl,-R,tmpdir} {} \ + {pr31615a.c} {pr31615b.exe} {pass.out} {-O3 -flto} {c} {} \ + {-Wl,--as-needed tmpdir/pr31615c.so -Wl,--no-as-needed \ + tmpdir/pr31615d.so}] \ ] # LTO run-time tests for ELF diff --git a/ld/testsuite/ld-plugin/pr31615.ver b/ld/testsuite/ld-plugin/pr31615.ver new file mode 100644 index 0000000..f1e1f9d --- /dev/null +++ b/ld/testsuite/ld-plugin/pr31615.ver @@ -0,0 +1,4 @@ +BAR { +global: + bar; +}; diff --git a/ld/testsuite/ld-plugin/pr31615a.c b/ld/testsuite/ld-plugin/pr31615a.c new file mode 100644 index 0000000..450b2d5 --- /dev/null +++ b/ld/testsuite/ld-plugin/pr31615a.c @@ -0,0 +1,8 @@ +extern void bar (); + +int +main() +{ + bar (); + return 0; +} diff --git a/ld/testsuite/ld-plugin/pr31615b.c b/ld/testsuite/ld-plugin/pr31615b.c new file mode 100644 index 0000000..973dc31 --- /dev/null +++ b/ld/testsuite/ld-plugin/pr31615b.c @@ -0,0 +1,7 @@ +#include <stdio.h> + +void +bar (void) +{ + printf ("PASS\n"); +} diff --git a/ld/testsuite/ld-plugin/pr31615c.c b/ld/testsuite/ld-plugin/pr31615c.c new file mode 100644 index 0000000..dbe0788 --- /dev/null +++ b/ld/testsuite/ld-plugin/pr31615c.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +__attribute__ ((weak)) +void +bar (void) +{ + printf ("PASS\n"); +} diff --git a/ld/testsuite/ld-plugin/pr31615d.c b/ld/testsuite/ld-plugin/pr31615d.c new file mode 100644 index 0000000..352f598 --- /dev/null +++ b/ld/testsuite/ld-plugin/pr31615d.c @@ -0,0 +1,5 @@ +__attribute__ ((weak)) +void +bar (void) +{ +} |