diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-03-02 14:53:11 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-05-28 06:08:28 -0700 |
commit | ca1f728cbefd6955735087e45d80620113623b3b (patch) | |
tree | ba764e7f0391b93777d90d6a08a24695c2037634 /extra-lib.mk | |
parent | 1ea33bb5517516d1d1005b953c92a071454e66d5 (diff) | |
download | glibc-ca1f728cbefd6955735087e45d80620113623b3b.zip glibc-ca1f728cbefd6955735087e45d80620113623b3b.tar.gz glibc-ca1f728cbefd6955735087e45d80620113623b3b.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 'extra-lib.mk')
-rw-r--r-- | extra-lib.mk | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/extra-lib.mk b/extra-lib.mk index b10748d..73b1e7f 100644 --- a/extra-lib.mk +++ b/extra-lib.mk @@ -27,6 +27,11 @@ extra-objs := $(extra-objs) # The modules that go in $(lib). all-$(lib)-routines := $($(lib)-routines) $($(lib)-sysdep_routines) +# rpcsvc library is compiled with PIC. +ifneq (librpcsvc,$(lib)) +archive-objects += $(addprefix $(objpfx),$(patsubst %,%.o,$(all-$(lib)-routines))) +endif + # Add each flavor of library to the lists of things to build and install. install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o))) extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\ |