Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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].
  • Loading branch information
Joseph Myers committed Sep 12, 2014
1 parent c729e7c commit 73a3911
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 2 deletions.
8 changes: 8 additions & 0 deletions 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.
Expand Down
3 changes: 3 additions & 0 deletions config.h.in
Expand Up @@ -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
3 changes: 3 additions & 0 deletions sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
Expand Up @@ -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"
Expand Down
2 changes: 2 additions & 0 deletions sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
Expand Up @@ -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
Expand Down
7 changes: 5 additions & 2 deletions 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

0 comments on commit 73a3911

Please sign in to comment.