about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-08-04 12:58:01 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-08-04 12:58:13 -0700
commite13daad7ac81968e9aaa4a87497f898bb15f4ef8 (patch)
tree6d9689deeb49de94e5d4d999986cfd7445980602
parent627c69c838e75d69f46a7cc7dd2bafca03adbf60 (diff)
downloadglibc-e13daad7ac81968e9aaa4a87497f898bb15f4ef8.tar.gz
glibc-e13daad7ac81968e9aaa4a87497f898bb15f4ef8.tar.xz
glibc-e13daad7ac81968e9aaa4a87497f898bb15f4ef8.zip
Compile tst-prelink.c without PIE [BZ #21815]
tst-prelink.c checks for conflict with GLOB_DAT relocation against stdio.
On i386, there is no GLOB_DAT relocation against stdio with PIE.  We
should compile tst-prelink.c without PIE.

	[BZ #21815]
	* elf/Makefile (CFLAGS-tst-prelink.c): New.
	(LDFLAGS-tst-prelink): Likewise.
-rw-r--r--ChangeLog6
-rw-r--r--elf/Makefile3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6a50d235f5..8291f6e05b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2017-08-04  H.J. Lu  <hongjiu.lu@intel.com>
 
+	[BZ #21815]
+	* elf/Makefile (CFLAGS-tst-prelink.c): New.
+	(LDFLAGS-tst-prelink): Likewise.
+
+2017-08-04  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER):
 	Define to I386_USE_SYSENTER to 0 or 1 if not defined.
 	(ENTER_KERNEL): Check if I386_USE_SYSENTER is 1 and check PIC.
diff --git a/elf/Makefile b/elf/Makefile
index 2956445de8..828daaa0be 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -358,6 +358,9 @@ update-all-abi: update-all-abi-ld
 
 ifeq ($(have-glob-dat-reloc),yes)
 tests += tst-prelink
+# Don't compile tst-prelink.c with PIE for GLOB_DAT relocation.
+CFLAGS-tst-prelink.c += -fno-pie
+LDFLAGS-tst-prelink = $(no-pie-ldflag)
 ifeq ($(run-built-tests),yes)
 tests-special += $(objpfx)tst-prelink-cmp.out
 endif