aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-02-23 06:28:18 -0800
committerH.J. Lu <hjl.tools@gmail.com>2015-02-23 06:28:33 -0800
commitd49499c128f38e77f1b424ea4fabea0014dd95c1 (patch)
tree769add206f599429f2dc22b3c7f3e478c878a7c4
parent51225803259c69a792a272d067443f3fbc9b79d7 (diff)
downloadglibc-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--ChangeLog9
-rw-r--r--NEWS4
-rw-r--r--csu/Makefile13
3 files changed, 22 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 82299e5ebe..0a059097e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/NEWS b/NEWS
index 28ef45da55..e5d8ee8834 100644
--- a/NEWS
+++ b/NEWS
@@ -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.