about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc/Makefile
diff options
context:
space:
mode:
authorUlrich Weigand <Ulrich.Weigand@de.ibm.com>2013-12-04 07:08:48 -0600
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-12-04 07:44:39 -0600
commit5b118558f9fb0620508d51c34c2cb5ba4f1f01c2 (patch)
tree625cfdcf237afbf9ef3cfbd38cb5e2eb01390629 /sysdeps/unix/sysv/linux/powerpc/Makefile
parent61cd8fe4017c251617dd300818917e61a12ab48e (diff)
downloadglibc-5b118558f9fb0620508d51c34c2cb5ba4f1f01c2.tar.gz
glibc-5b118558f9fb0620508d51c34c2cb5ba4f1f01c2.tar.xz
glibc-5b118558f9fb0620508d51c34c2cb5ba4f1f01c2.zip
PowerPC64 ELFv2 ABI 6/6: Bump ld.so soname version number
To avoid having a ELFv2 binary accidentally picking up an old ABI ld.so,
this patch bumps the soname to ld64.so.2.

In theory (or for testing purposes) this will also allow co-installing
ld.so versions for both ABIs on the same system.  Note that the kernel
will already be able to load executables of both ABIs.  However, there
is currently no plan to use that theoretical possibility in a any
supported distribution environment ...

Note that in order to check which ABI to use, we need to invoke the
compiler to check the _CALL_ELF macro; this is done in a new configure
check in sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac,
replacing the hard-coded value of default-abi in the Makefile.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/Makefile')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Makefile11
1 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile
index cf4de974f6..395342f150 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ b/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -1,9 +1,12 @@
-abi-variants := 32 64
+abi-variants := 32 64-v1 64-v2
 abi-32-options := -U__powerpc64__
 abi-32-condition := __WORDSIZE == 32
-abi-64-options := -D__powerpc64__
-abi-64-condition := __WORDSIZE == 64
-abi-64-ld-soname := ld64.so.1
+abi-64-v1-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=1
+abi-64-v1-condition := __WORDSIZE == 64 && _CALL_ELF != 2
+abi-64-v1-ld-soname := ld64.so.1
+abi-64-v2-options := -D__powerpc64__ -U_CALL_ELF -D_CALL_ELF=2
+abi-64-v2-condition := __WORDSIZE == 64 && _CALL_ELF == 2
+abi-64-v2-ld-soname := ld64.so.2
 
 ifeq ($(subdir),rt)
 librt-routines += rt-sysdep