@@ -467,6 +467,11 @@ build the GNU C Library:
better code. As of release time, GCC 9.1.1 is the newest compiler
verified to work to build the GNU C Library.
+ For PowerPC 64-bits little-endian (powerpc64le), a GCC version with
+ support for -mno-gnu-attribute is required. As of release time,
+ this means GCC 7 or higher. The compiler option is required for
+ building the GNU C Library with support for IEEE long double.
+
For multi-arch support it is recommended to use a GCC which has
been built with support for GNU indirect functions. This ensures
that correct debugging information is generated for functions
@@ -101,7 +101,7 @@ Deprecated and removed features, and other changes affecting compatibility:
Changes to build and runtime requirements:
- [Add changes to build and runtime requirements here]
+* On powerpc64le, GCC 7 or later is required to build the GNU C Library.
Security related changes:
@@ -507,6 +507,11 @@ the newest version of the compiler that is known to work for building
release time, GCC 9.1.1 is the newest compiler verified to work to build
@theglibc{}.
+For PowerPC 64-bits little-endian (powerpc64le), a GCC version with
+support for -mno-gnu-attribute is required. As of release time, this
+means GCC 7 or higher. The compiler option is required for building the
+GNU C Library with support for IEEE long double.
+
For multi-arch support it is recommended to use a GCC which has been built with
support for GNU indirect functions. This ensures that correct debugging
information is generated for functions selected by IFUNC resolvers. This
@@ -32,4 +32,33 @@ if test "$libc_cv_target_power8_ok" != "yes"; then :
fi
CFLAGS="$OLD_CFLAGS"
+# Local configure fragment for sysdeps/powerpc/powerpc64le.
+
+OLD_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mno-gnu-attribute"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler supports -mno-gnu-attribute" >&5
+$as_echo_n "checking if the compiler supports -mno-gnu-attribute... " >&6; }
+if ${libc_cv_no_gnu_attr_ok+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_cv_no_gnu_attr_ok=yes
+else
+ libc_cv_no_gnu_attr_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_no_gnu_attr_ok" >&5
+$as_echo "$libc_cv_no_gnu_attr_ok" >&6; }
+if test "$libc_cv_no_gnu_attr_ok" != "yes"; then :
+ critic_missing="$critic_missing A compiler with -mno-gnu-attribute is required on powerpc64le."
+fi
+CFLAGS="$OLD_CFLAGS"
+
test -n "$critic_missing" && as_fn_error $? "*** $critic_missing" "$LINENO" 5
@@ -17,4 +17,19 @@ AS_IF([test "$libc_cv_target_power8_ok" != "yes"],
[critic_missing="$critic_missing POWER8 or newer is required on powerpc64le."])
CFLAGS="$OLD_CFLAGS"
+# Local configure fragment for sysdeps/powerpc/powerpc64le.
+
+dnl Require support for -mno-gnu-attribute
+OLD_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mno-gnu-attribute"
+AC_CACHE_CHECK([if the compiler supports -mno-gnu-attribute],
+ libc_cv_no_gnu_attr_ok, [
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+]])],
+ [libc_cv_no_gnu_attr_ok=yes],
+ [libc_cv_no_gnu_attr_ok=no])])
+AS_IF([test "$libc_cv_no_gnu_attr_ok" != "yes"],
+ [critic_missing="$critic_missing A compiler with -mno-gnu-attribute is required on powerpc64le."])
+CFLAGS="$OLD_CFLAGS"
+
test -n "$critic_missing" && AC_MSG_ERROR([*** $critic_missing])