From: H.J. Lu Date: Wed, 8 May 2024 13:22:20 +0000 (-0700) Subject: ld: Add PR ld/31710 tests X-Git-Tag: gdb-15-branchpoint~155 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1509f0c231854b2fd3556d77d6be1f98301bf8a3;p=thirdparty%2Fbinutils-gdb.git ld: Add PR ld/31710 tests PR ld/31710 * testsuite/ld-elf/wrap.exp: Run ld/31710 tests. * testsuite/ld-elf/wrap2.h: New file. * testsuite/ld-elf/wrap2a.c: Likewise. * testsuite/ld-elf/wrap2b.c: Likewise. --- diff --git a/ld/testsuite/ld-elf/wrap.exp b/ld/testsuite/ld-elf/wrap.exp index 90e2d60e67d..efc44bc013f 100644 --- a/ld/testsuite/ld-elf/wrap.exp +++ b/ld/testsuite/ld-elf/wrap.exp @@ -52,3 +52,29 @@ if [check_shared_lib_support] { run_cc_link_tests $build_tests run_ld_link_exec_tests $run_tests } + +run_ld_link_tests [list \ + [list \ + "Build libwrap2.a" \ + "" \ + "" \ + "" \ + {wrap2a.c} \ + {} \ + "libwrap2.a" \ + "-g" \ + ] \ +] + +# Test very simple native Linux/x86 programs with linux-x86.S. +run_ld_link_exec_tests [list \ + [list \ + "Run wrap2" \ + "-Wl,--wrap=impl" \ + "" \ + { wrap2b.c } \ + "wrap2" \ + "pass.out" \ + "-g" \ + ] \ +] diff --git a/ld/testsuite/ld-elf/wrap2.h b/ld/testsuite/ld-elf/wrap2.h new file mode 100644 index 00000000000..8fd9495f6f4 --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2.h @@ -0,0 +1,6 @@ +struct ops +{ + void (*loaded)(void); +}; + +extern struct ops impl; diff --git a/ld/testsuite/ld-elf/wrap2a.c b/ld/testsuite/ld-elf/wrap2a.c new file mode 100644 index 00000000000..a37655fccad --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2a.c @@ -0,0 +1,11 @@ +#include "wrap2.h" + +static void +loaded (void) +{ +} + +struct ops impl = +{ + .loaded = loaded +}; diff --git a/ld/testsuite/ld-elf/wrap2b.c b/ld/testsuite/ld-elf/wrap2b.c new file mode 100644 index 00000000000..c1f4444a08a --- /dev/null +++ b/ld/testsuite/ld-elf/wrap2b.c @@ -0,0 +1,20 @@ +#include +#include "wrap2.h" + +static void +loaded(void) +{ + printf ("PASS\n"); +} + +struct ops __wrap_impl = +{ + .loaded = loaded, +}; + +int +main() +{ + impl.loaded (); + return 0; +}