mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-21 02:10:05 +00:00
73a391126d
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].
30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|
# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/.
|
|
|
|
LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
|
|
|
|
# Define default-abi according to compiler flags.
|
|
AC_CACHE_CHECK([whether the compiler is using the PowerPC64 ELFv2 ABI],
|
|
[libc_cv_ppc64_elfv2_abi],
|
|
[AC_EGREP_CPP(yes,[#if _CALL_ELF == 2
|
|
yes
|
|
#endif
|
|
], 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
|
|
AC_CACHE_CHECK([whether the compiler defines _CALL_ELF],
|
|
[libc_cv_ppc64_def_call_elf],
|
|
[AC_EGREP_CPP(yes,[#ifdef _CALL_ELF
|
|
yes
|
|
#endif
|
|
], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
|
|
if test $libc_cv_ppc64_def_call_elf = no; then
|
|
libc_extra_cppflags="$libc_extra_cppflags -D_CALL_ELF=1"
|
|
fi
|
|
fi
|