From ce16eb52c0987fd94bc13d51ddc787134a7e4b0c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 19 Dec 2017 13:53:00 -0800 Subject: Replece LDFLAGS-* = $(no-pie-ldflag) with tst-*-no-pie = yes [BZ #22630] After commit 9d7a3741c9e59eba87fb3ca6b9f979befce07826 Author: H.J. Lu Date: Fri Dec 15 16:59:33 2017 -0800 Add --enable-static-pie configure option to build static PIE [BZ #19574] and commit 00c714df398b63934540d95ce3792596f7a94a6c Author: H.J. Lu Date: Mon Dec 18 12:24:26 2017 -0800 Pass -no-pie to GCC only if GCC defaults to PIE [BZ #22614] $(no-pie-ldflag) is no longer effective since no-pie-ldflag is defined to -no-pie only if GCC defaults to PIE. When --enable-static-pie is used to configure glibc build and GCC doesn't default to PIE. no-pie-ldflag is undefined and these tests: elf/Makefile:LDFLAGS-tst-dlopen-aout = $(no-pie-ldflag) elf/Makefile:LDFLAGS-tst-prelink = $(no-pie-ldflag) elf/Makefile:LDFLAGS-tst-main1 = $(no-pie-ldflag) gmon/Makefile:LDFLAGS-tst-gmon := $(no-pie-ldflag) may fail to link. This patch replaces "-pie" with $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie) and repleces LDFLAGS-* = $(no-pie-ldflag) with tst-*-no-pie = yes so that tst-dlopen-aout, tst-prelink, tst-main1 and tst-gmon are always built as non-PIE, with and without --enable-static-pie, regardless if GCC defaults to PIE or non-PIE. Tested with build-many-glibcs.py without --enable-static-pie as well as with --enable-static-pie for x86_64, x32 and i686. [BZ #22630] * Makeconfig (link-pie-before-libc): Replace -pie with $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie). * elf/Makefile (LDFLAGS-tst-dlopen-aout): Removed. (tst-dlopen-aout-no-pie): New. (LDFLAGS-tst-prelink): Removed. (tst-prelink-no-pie): New. (LDFLAGS-tst-main1): Removed. (tst-main1-no-pie): New. * gmon/Makefile (LDFLAGS-tst-gmon): Removed. (tst-gmon-no-pie): New. --- gmon/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gmon') diff --git a/gmon/Makefile b/gmon/Makefile index 29e746723e..6d0c620b24 100644 --- a/gmon/Makefile +++ b/gmon/Makefile @@ -49,7 +49,7 @@ endif CFLAGS-mcount.c := -fno-omit-frame-pointer CFLAGS-tst-gmon.c := -fno-omit-frame-pointer -pg -LDFLAGS-tst-gmon := $(no-pie-ldflag) +tst-gmon-no-pie = yes CRT-tst-gmon := $(csu-objpfx)gcrt1.o tst-gmon-ENV := GMON_OUT_PREFIX=$(objpfx)tst-gmon.data ifeq ($(run-built-tests),yes) -- cgit 1.4.1