diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-02-23 06:28:18 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-02-23 06:28:33 -0800 |
commit | d49499c128f38e77f1b424ea4fabea0014dd95c1 (patch) | |
tree | 769add206f599429f2dc22b3c7f3e478c878a7c4 | |
parent | 51225803259c69a792a272d067443f3fbc9b79d7 (diff) | |
download | glibc-d49499c128f38e77f1b424ea4fabea0014dd95c1.tar glibc-d49499c128f38e77f1b424ea4fabea0014dd95c1.tar.gz glibc-d49499c128f38e77f1b424ea4fabea0014dd95c1.tar.bz2 glibc-d49499c128f38e77f1b424ea4fabea0014dd95c1.zip |
Compile gcrt1.o with -fPIC
We compile gcrt1.o with -fPIC to support both "gcc -pg" and "gcc -pie -pg".
[BZ #17836]
* csu/Makefile (extra-objs): Add gmon-start.o if not builing
shared library. Add gmon-start.os otherwise.
($(objpfx)g$(start-installed-name)): Use $(objpfx)S%
$(objpfx)gmon-start.os if builing shared library.
($(objpfx)g$(static-start-installed-name)): Likewise.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | csu/Makefile | 13 |
3 files changed, 22 insertions, 4 deletions
@@ -1,3 +1,12 @@ +2015-02-23 H.J. Lu <hongjiu.lu@intel.com> + + [BZ #17836] + * csu/Makefile (extra-objs): Add gmon-start.o if not builing + shared library. Add gmon-start.os otherwise. + ($(objpfx)g$(start-installed-name)): Use $(objpfx)S% + $(objpfx)gmon-start.os if builing shared library. + ($(objpfx)g$(static-start-installed-name)): Likewise. + 2015-02-23 Andreas Schwab <schwab@suse.de> * elf/Makefile (CFLAGS-tst-audit2.c): Define. @@ -10,8 +10,8 @@ Version 2.22 * The following bugs are resolved with this release: 4719, 13064, 14094, 15319, 15467, 15790, 16560, 17269, 17569, 17588, - 17792, 17912, 17932, 17944, 17949, 17964, 17965, 17967, 17969, 17978, - 17987, 17991, 17996, 17998, 17999. + 17792, 17836, 17912, 17932, 17944, 17949, 17964, 17965, 17967, 17969, + 17978, 17987, 17991, 17996, 17998, 17999. * Character encoding and ctype tables were updated to Unicode 7.0.0, using new generator scripts contributed by Pravin Satpute and Mike FABIAN (Red diff --git a/csu/Makefile b/csu/Makefile index f7cf4af3d1..9f0855a6ac 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -32,7 +32,7 @@ aux = errno elide-routines.os = libc-tls static-only-routines = elf-init csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o) -extra-objs = start.o gmon-start.o \ +extra-objs = start.o \ $(start-installed-name) g$(start-installed-name) $(csu-dummies) \ S$(start-installed-name) omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \ @@ -46,9 +46,11 @@ tests := tst-empty tst-atomic tst-atomic-long tests-static := tst-empty ifeq (yes,$(build-shared)) -extra-objs += S$(start-installed-name) +extra-objs += S$(start-installed-name) gmon-start.os install-lib += S$(start-installed-name) generated += start.os +else +extra-objs += gmon-start.o endif ifneq ($(start-installed-name),$(static-start-installed-name)) @@ -95,10 +97,17 @@ endif # The profiling startfile is made by linking together the normal # startfile with gmon-start.o, which defines a constructor function # to turn on profiling code at startup. +ifeq (yes,$(build-shared)) +$(addprefix $(objpfx),$(sort g$(start-installed-name) \ + g$(static-start-installed-name))): \ + $(objpfx)g%: $(objpfx)S% $(objpfx)gmon-start.os + $(link-relocatable) +else $(addprefix $(objpfx),$(sort g$(start-installed-name) \ g$(static-start-installed-name))): \ $(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o $(link-relocatable) +endif # These extra files are sometimes expected by system standard linking # procedures, but we have nothing for them to do. So compile empty files. |