This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Fix sparc64 build with GCC 9 [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Tue, 13 Nov 2018 00:27:41 +0000
- Subject: Fix sparc64 build with GCC 9 [committed]
Similar to the x86_64 and armv7 build issues, glibc fails to build for
sparc64 with current mainline GCC because of aliases declared in the
course of defining IFUNCs, which copy their attributes from a header
declaration, ending up with fewer attributes than the (built-in)
string function they alias. This patch fixes the issue similarly to
the fixes for those other architectures.
Tested with build-many-glibcs.py compilers build for
sparc64-linux-gnu. Committed.
2018-11-13 Joseph Myers <joseph@codesourcery.com>
* sysdeps/sparc/sparc-ifunc.h [SHARED]
(sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to
copy attributes from name.
diff --git a/sysdeps/sparc/sparc-ifunc.h b/sysdeps/sparc/sparc-ifunc.h
index 561aeea2f8..10552e93c3 100644
--- a/sysdeps/sparc/sparc-ifunc.h
+++ b/sysdeps/sparc/sparc-ifunc.h
@@ -35,7 +35,8 @@
#if defined SHARED
# define sparc_ifunc_redirected_hidden_def(redirect_name, name) \
__hidden_ver1 (name, __GI_##name, redirect_name) \
- __attribute__ ((visibility ("hidden")));
+ __attribute__ ((visibility ("hidden"))) \
+ __attribute_copy__ (name);
#else
# define sparc_ifunc_redirected_hidden_def(redirect_name, name)
#endif
--
Joseph S. Myers
joseph@codesourcery.com