This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.28.9000-287-g53f5c65

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  53f5c65914b7601b652cd7a38714885a8492e562 (commit)
      from  f578f97b97c8b46ec85a81a186c55db9c5a3c8cf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------;a=commitdiff;h=53f5c65914b7601b652cd7a38714885a8492e562

commit 53f5c65914b7601b652cd7a38714885a8492e562
Author: Joseph Myers <>
Date:   Tue Nov 13 00:27:06 2018 +0000

    Fix sparc64 build with GCC 9.
    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 compilers build for
    	* sysdeps/sparc/sparc-ifunc.h [SHARED]
    	(sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to
    	copy attributes from name.

diff --git a/ChangeLog b/ChangeLog
index 6372ec7..8b82d3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-11-13  Joseph Myers  <>
+	* sysdeps/sparc/sparc-ifunc.h [SHARED]
+	(sparc_ifunc_redirected_hidden_def): Use __attribute_copy__ to
+	copy attributes from name.
 2018-11-12  Joseph Myers  <>
 	* sysdeps/arm/arm-ifunc.h [SHARED] (arm_libc_ifunc_hidden_def):
diff --git a/sysdeps/sparc/sparc-ifunc.h b/sysdeps/sparc/sparc-ifunc.h
index 561aeea..10552e9 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);
 # define sparc_ifunc_redirected_hidden_def(redirect_name, name)


Summary of changes:
 ChangeLog                   |    6 ++++++
 sysdeps/sparc/sparc-ifunc.h |    3 ++-
 2 files changed, 8 insertions(+), 1 deletions(-)

GNU C Library master sources

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]