]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gold: Use asm for GCC 9 and older in PR gold/31830 tests
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 24 Aug 2024 15:33:46 +0000 (08:33 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Aug 2024 12:48:55 +0000 (05:48 -0700)
Since GCC 9 and older fail to compile PR gold/31830 tests:

$ gcc -S testsuite/ver_test_pr31830_b.c -o /tmp/x.s
testsuite/ver_test_pr31830_b.c:3:1: warning: ‘__symver__’ attribute directive ignored [-Wattributes]
 void __collector_foo_2_2(void) {}
 ^~~~

use asm statement, instead of symver attribute, for GCC 9 and older.

PR gold/31830
* testsuite/ver_test_pr31830_b.c (__collector_foo_2_2): Use asm
statement, instead of symver attribute, for GCC 9 and older.
symver attribute with __asm__.
* testsuite/ver_test_pr31830_lto.c (__collector_foo_2_2): Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
gold/testsuite/ver_test_pr31830_b.c
gold/testsuite/ver_test_pr31830_lto.c

index aba07cc63050b1e14d92e45280b7b2289d1b97fd..4464d05e17af32a8a8ed2fa6992fc777df99c69c 100644 (file)
@@ -1,3 +1,7 @@
 extern void __collector_foo_2_2(void);
+#if defined(__GNUC__) && __GNUC__ >= 10
 __attribute__((__symver__("foo@GLIBC_2.2.5")))
+#else
+__asm__ (".symver __collector_foo_2_2, foo@GLIBC_2.2.5");
+#endif
 void __collector_foo_2_2(void) {}
index 999dd63f884e5a8901d49af8cfdc82f54476ca7d..862ac68bfd623309a6b2cc43888dc841b30be65f 100644 (file)
@@ -1,5 +1,9 @@
 extern __inline __attribute__((__gnu_inline__)) void foo(void) {}
 extern void __collector_foo_2_2(void);
+#if defined(__GNUC__) && __GNUC__ >= 10
 __attribute__((__symver__("foo@GLIBC_2.2.5")))
+#else
+__asm__ (".symver __collector_foo_2_2, foo@GLIBC_2.2.5");
+#endif
 void __collector_foo_2_2(void) {}
 void foo(void) {}