about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--config.h.in3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/configure3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions7
5 files changed, 21 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fdbe22feec..fbd013b39c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-09-12  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
+	(HAVE_ELFV2_ABI): AC_DEFINE in ELFv2 case.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/configure:
+	Regenerated.
+	* config.h.in (HAVE_ELFV2_ABI): New macro undefine.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions:
+	Condition symbol version definitions on [HAVE_ELFV2_ABI].
+
 	* shlib-versions: Remove OS-specific entries.  Moved to files in
 	sysdeps.
 	* sysdeps/mach/hurd/shlib-versions: New file.
diff --git a/config.h.in b/config.h.in
index 7da1a9f6f8..fcbe8ad808 100644
--- a/config.h.in
+++ b/config.h.in
@@ -257,4 +257,7 @@
 /* Define if using the IEEE 754-2008 NaN encoding on the MIPS target.  */
 #undef HAVE_MIPS_NAN2008
 
+/* The PowerPC64 ELFv2 ABI is being used.  */
+#undef HAVE_ELFV2_ABI
+
 #endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
index aa1302ab11..eb46415e2d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
@@ -173,6 +173,9 @@ $as_echo "$libc_cv_ppc64_elfv2_abi" >&6; }
 if test $libc_cv_ppc64_elfv2_abi = yes; then
   config_vars="$config_vars
 default-abi = 64-v2"
+  # For shlib-versions.
+  $as_echo "#define HAVE_ELFV2_ABI 1" >>confdefs.h
+
 else
   config_vars="$config_vars
 default-abi = 64-v1"
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
index de04689536..0822915c43 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
@@ -12,6 +12,8 @@ AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
   ], libc_cv_ppc64_elfv2_abi=yes, libc_cv_ppc64_elfv2_abi=no)])
 if test $libc_cv_ppc64_elfv2_abi = yes; then
   LIBC_CONFIG_VAR([default-abi], [64-v2])
+  # For shlib-versions.
+  AC_DEFINE(HAVE_ELFV2_ABI)
 else
   LIBC_CONFIG_VAR([default-abi], [64-v1])
   # Compiler that do not support ELFv2 ABI does not define _CALL_ELF
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
index f6480238c5..1febda46d0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions
@@ -1,4 +1,7 @@
-powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
+%ifdef HAVE_ELFV2_ABI
 powerpc.*le-.*-linux.*	DEFAULT			GLIBC_2.17
-powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
 powerpc.*le-.*-linux.*	libpthread=0		GLIBC_2.17
+%else
+powerpc64-.*-linux.*	DEFAULT			GLIBC_2.3
+powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
+%endif