From cc08749b2d1c68284b25b157fbbe1ff219495cae Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 25 Jun 2015 02:37:04 -0700 Subject: Support compilers defaulting to PIE To support building glibc with GCC 6 configured with --enable-default-pie, which generates PIE by default, we need to build programs as PIE. But elf/tst-dlopen-aout must not be built as PIE since it tests dlopen on ET_EXEC file and PIE is ET_DYN. [BZ #17841] * Makeconfig (no-pie-ldflag): New. (+link): Set to $(+link-pie) if default to PIE. (+link-tests): Set to $(+link-pie-tests) if default to PIE. * config.make.in (build-pie-default): New. * configure.ac (libc_cv_pie_default): New. Set to yes if -fPIE is default. AC_SUBST. * configure: Regenerated. * elf/Makefile (LDFLAGS-tst-dlopen-aout): New. --- elf/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'elf') diff --git a/elf/Makefile b/elf/Makefile index 4ea3ccf..f21276c0 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -151,6 +151,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ # reldep9 ifeq ($(build-hardcoded-path-in-tests),yes) tests += tst-dlopen-aout +LDFLAGS-tst-dlopen-aout = $(no-pie-ldflag) endif test-srcs = tst-pathopt selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) -- cgit v1.1