aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-03-03 15:41:49 +0100
committerFlorian Weimer <fweimer@redhat.com>2020-03-03 15:42:36 +0100
commitc014359a7d5154f295152ec4b7f422cc537bd84e (patch)
treefc78553680ebbb1bef65d330ff4472c4bbdfd405
parenty2038: linux: Provide __utime64 implementation (diff)
downloadglibc-c014359a7d5154f295152ec4b7f422cc537bd84e.tar.gz
glibc-c014359a7d5154f295152ec4b7f422cc537bd84e.tar.bz2
glibc-c014359a7d5154f295152ec4b7f422cc537bd84e.zip
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.
-rw-r--r--sysdeps/alpha/Makefile4
1 files changed, 0 insertions, 4 deletions
diff --git a/sysdeps/alpha/Makefile b/sysdeps/alpha/Makefile
index da52c1d4d1..baf5d480e5 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)