mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 02:40:08 +00:00
5b118558f9
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.
34 lines
898 B
Makefile
34 lines
898 B
Makefile
abi-variants := 32 64-v1 64-v2
|
|
abi-32-options := -U__powerpc64__
|
|
abi-32-condition := __WORDSIZE == 32
|
|
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
|
|
endif
|
|
|
|
ifeq ($(subdir),stdlib)
|
|
gen-as-const-headers += ucontext_i.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),elf)
|
|
sysdep_routines += dl-vdso
|
|
ifeq ($(build-shared),yes)
|
|
# This is needed for DSO loading from static binaries.
|
|
sysdep-dl-routines += dl-static
|
|
sysdep_routines += dl-static
|
|
sysdep-rtld-routines += dl-static
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_headers += bits/ppc.h
|
|
sysdep_routines += get_timebase_freq
|
|
tests += test-gettimebasefreq
|
|
endif
|