aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-09-12 12:25:36 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-09-12 12:25:36 +0000
commit73a391126d500653bf3cd4c0f67826e75ecc95bf (patch)
tree544f4e5e887a0b95c074dd938b0725dc4d0b4c3f /sysdeps
parentc729e7c13a7bc5ddec6fcaf82712aeff530e0d78 (diff)
downloadglibc-73a391126d500653bf3cd4c0f67826e75ecc95bf.zip
glibc-73a391126d500653bf3cd4c0f67826e75ecc95bf.tar.gz
glibc-73a391126d500653bf3cd4c0f67826e75ecc95bf.tar.bz2
Use %ifdef in sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions.
This patch makes sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions use %ifdef conditionals around the different symbol version definitions for big and little endian. (It doesn't actually change the host patterns used for those definitions; the point is to make it possible to remove the first column from shlib-versions by eliminating the last case where it would be harmful for it to be treated as .*-.*-.*.) The conditional is based on the ELFv1/ELFv2 distinction rather than BE/LE, since that's what's already tested in configure and used for the ld.so soname in the Makefiles. (Of course if BE ELFv2 were supported in future, it would get new symbol versions and so need new conditionals.) * 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].
Diffstat (limited to 'sysdeps')
-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
3 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
index aa1302a..eb46415 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 de04689..0822915 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 f648023..1febda4 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