summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-08-16 14:15:43 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-08-16 14:15:43 -0700
commitf19721b98346b9493f3ecb5cd41527e102c7fedf (patch)
tree99a7cb015256a902180d24970aa653ee62c86a33
parent87e7bf4d36af0a4622dc2687730f26d7d53003fe (diff)
downloadglibc-hjl/pie/gprof.tar.gz
Support -pg with GCC defaulting to PIEhjl/pie/gprof
-pg and -pie are mutually exclusive since they need different crt1.o, gcrrt1.o vs Scrt1.o. Make -pg overrdies -pie. * Makeconfig (+link-pie-before-libc): Add CRT-* hook to override the startup object.
-rw-r--r--Makeconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/Makeconfig b/Makeconfig
index 5f2469116c..b51904b797 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -409,7 +409,7 @@ ifndef +link-pie
+link-pie-before-libc = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
$(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
- $(addprefix $(csu-objpfx),S$(start-installed-name)) \
+ $(firstword $(CRT-$(@F)) $(csu-objpfx)S$(start-installed-name)) \
$(+preinit) $(+prectorS) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
S$(start-installed-name))\