From: Florian Weimer Date: Tue, 3 Mar 2020 14:41:49 +0000 (+0100) Subject: alpha: Do not build with -fpic X-Git-Tag: glibc-2.32~536 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c014359a7d5154f295152ec4b7f422cc537bd84e;p=thirdparty%2Fglibc.git alpha: Do not build with -fpic The combination of GCC 10 and binutils 2.35 (both unreleased) is no longer able to link the dynamic linker, due to a GP16 relocation overflow error: glibc/alpha-linux-gnu/elf/librtld.os: in function `calloc': glibc/elf/../include/rtld-malloc.h:44:(.text+0xd98): relocation truncated to fit: GPREL16 against symbol `__rtld_calloc' defined in .data.rel.ro section in glibc/alpha-linux-gnu/elf/librtld.os glibc/alpha-linux-gnu/elf/librtld.os: in function `malloc': glibc/elf/../include/rtld-malloc.h:56:(.text+0x2978): relocation truncated to fit: GPREL16 against symbol `__rtld_malloc' defined in .data.rel.ro section in glibc/alpha-linux-gnu/elf/librtld.os This is arguably a linker bug; the object files and their section size requirements look reasonable enough. Using -fPIC (the default) works around this issue. --- diff --git a/sysdeps/alpha/Makefile b/sysdeps/alpha/Makefile index da52c1d4d11..baf5d480e5b 100644 --- a/sysdeps/alpha/Makefile +++ b/sysdeps/alpha/Makefile @@ -57,10 +57,6 @@ endif # "current" rounding mode, and it's easiest to set this with all of them. sysdep-CFLAGS += -mieee -mfp-rounding-mode=d -# libc.so requires about 16k for the small data area, which is well -# below the 64k maximum. -pic-ccflag = -fpic - # Software floating-point emulation. ifeq ($(subdir),soft-fp)