summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2016-05-11 15:51:25 +0200
committerStefan Liebler <stli@linux.vnet.ibm.com>2016-05-11 15:51:25 +0200
commitc64a10e54441db7df85592b009348a919a7259d7 (patch)
tree4ec3c3c4e88b4ba4c8b9b2d720e650995107d8fb /sysdeps
parent2a1f15b1a9d51c2ba3f217641ea3af96ea208061 (diff)
downloadglibc-c64a10e54441db7df85592b009348a919a7259d7.tar.gz
glibc-c64a10e54441db7df85592b009348a919a7259d7.tar.xz
glibc-c64a10e54441db7df85592b009348a919a7259d7.zip
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.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/s390/s390-32/Makefile2
-rw-r--r--sysdeps/s390/s390-64/Makefile2
2 files changed, 0 insertions, 4 deletions
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