aboutsummaryrefslogtreecommitdiff
path: root/Makerules
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-03-02 14:53:11 -0800
committerH.J. Lu <hjl.tools@gmail.com>2015-05-28 06:08:28 -0700
commitca1f728cbefd6955735087e45d80620113623b3b (patch)
treeba764e7f0391b93777d90d6a08a24695c2037634 /Makerules
parent1ea33bb5517516d1d1005b953c92a071454e66d5 (diff)
downloadglibc-hjl/pr17841/master.zip
glibc-hjl/pr17841/master.tar.gz
glibc-hjl/pr17841/master.tar.bz2
Compile archives with -fno-piehjl/pr17841/master
When compiler defaults to PIE, we compile archives with -fno-pie. Since archives won't be used with PIE, compile them with -fpie isn't necessary. [BZ #17841] * Makeconfig (no-pie-ccflag): New. Set to -fno-pie. (pic-default): Don't define if $(no-pie-ccflag) is -fno-pie. (test-object-suffix): New. * Makerules (archive-objects): New. Set before including extra-lib.mk. ($(archive-objects)): New. New rule to append $(no-pie-ccflag) to CFLAGS. * extra-lib.mk (archive-objects): New. * crypt/Makefile ($(objpfx)md5test): Replace ".o" with $(test-object-suffix). ($(objpfx)md5test-giant): Likewise. ($(objpfx)sha256test): Likewise. ($(objpfx)sha512test): Likewise. * math/Makefile (LDFLAGS-atest-exp): New. (LDFLAGS-atest-sincos): Likewise. (LDFLAGS-atest-exp2): Likewise.
Diffstat (limited to 'Makerules')
-rw-r--r--Makerules4
1 files changed, 4 insertions, 0 deletions
diff --git a/Makerules b/Makerules
index c79915f..75ecae1 100644
--- a/Makerules
+++ b/Makerules
@@ -705,6 +705,7 @@ headers := $(headers) $(sysdep_headers)
# replacing every ".c" in `sources' with a ".o".
override objects := $(addprefix $(objpfx),$(sources:.c=.o))
+archive-objects := $(objects)
# The makefile may define $(extra-libs) with `libfoo libbar'
# to build libfoo.a et al from the modules listed in $(libfoo-routines).
@@ -716,6 +717,9 @@ extra-libs-left := $(extra-libs)
include $(patsubst %,$(..)extra-lib.mk,$(extra-libs))
endif
+# Set "archive-objects" before including extra-lib.mk which will append
+# "archive-objects".
+$(archive-objects): CFLAGS += $(no-pie-ccflag)
# The makefile may define $(modules-names) to build additional modules.
# These are built with $(build-module), except any in $(modules-names-nobuild).