gold: Use asm for GCC 9 and older in PR gold/31830 tests

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>
This commit is contained in:
H.J. Lu
2024-08-24 08:33:46 -07:00
parent 93ea177e95
commit 86db7e7da8
2 changed files with 8 additions and 0 deletions

View 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) {}

View 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) {}