From c64a10e54441db7df85592b009348a919a7259d7 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 11 May 2016 15:51:25 +0200 Subject: [PATCH] S390: Use fPIC to avoid R_390_GOT12 relocation in gcrt1.o. if glibc is build with -march=z900 | -march=z990, the startup file gcrt1.o (used if you link with gcc -pg) contains R_390_GOT12 | R_390_GOT20 relocations. Thus, an entry in the GOT can be addressed relative to the GOT pointer with a 12 | 20 bit displacement value. The startup files should not contain R_390_GOT12, R_390_GOT20 relocations, but R_390_GOTENT ones. This patch removes the overrides of pic-ccflag and the default pic-ccflag = -fPIC in Makeconfig is used instead to get the R_390_GOTENT relocations in gcrt1.o. ChangeLog: * sysdeps/s390/s390-32/Makefile (pic-ccflag): Remove. * sysdeps/s390/s390-64/Makefile: Likewise. --- ChangeLog | 5 +++++ sysdeps/s390/s390-32/Makefile | 2 -- sysdeps/s390/s390-64/Makefile | 2 -- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8958a06d2a..7533a3d9de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-05-11 Stefan Liebler + + * sysdeps/s390/s390-32/Makefile (pic-ccflag): Remove. + * sysdeps/s390/s390-64/Makefile: Likewise. + 2016-05-11 H.J. Lu * sysdeps/i386/i686/multiarch/Makefile (gen-as-const-headers): diff --git a/sysdeps/s390/s390-32/Makefile b/sysdeps/s390/s390-32/Makefile index 057862d91b..a07f2986ae 100644 --- a/sysdeps/s390/s390-32/Makefile +++ b/sysdeps/s390/s390-32/Makefile @@ -1,5 +1,3 @@ -pic-ccflag = -fpic - ifeq ($(subdir),gmon) sysdep_routines += s390-mcount endif diff --git a/sysdeps/s390/s390-64/Makefile b/sysdeps/s390/s390-64/Makefile index ce4f0c5c88..5909d1f7aa 100644 --- a/sysdeps/s390/s390-64/Makefile +++ b/sysdeps/s390/s390-64/Makefile @@ -1,5 +1,3 @@ -pic-ccflag = -fpic - ifeq ($(subdir),gmon) sysdep_routines += s390x-mcount endif