diff --git a/ChangeLog b/ChangeLog index fdbe22feec..fbd013b39c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2014-09-12 Joseph Myers + * 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