aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-09-04 19:53:24 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-09-06 11:43:43 -0700
commita5055ad15a4cb063627653d0a2109f66ead63c33 (patch)
tree11780094df41853e87aa787a88048e0651cca38d
parent48bac3debbc7acd0a2e8fe8248780f9d2c043c10 (diff)
downloadglibc-a5055ad15a4cb063627653d0a2109f66ead63c33.zip
glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.tar.gz
glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.tar.bz2
Use crtbeginT.o to statically link programs
-rw-r--r--ChangeLog12
-rw-r--r--Makeconfig11
-rw-r--r--NEWS2
3 files changed, 20 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a48a5cb..08fa5a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2012-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ [BZ #14544]
+ * Makeconfig (link-static-before-libc): Replace $(+prector)
+ with $(+prectorT).
+ (link-static-after-libc): Replace $(+postctor) with
+ $(+postctorT).
+ (link-bounded): Replace $(+prector)/$(+postctor) with
+ $(+prectorT)/$(+postctorT).
+ (+prectorT): New macro.
+ (+postctorT): Likewise.
+
2012-09-06 Joseph Myers <joseph@codesourcery.com>
* stdlib/gen-tst-strtod-round.c: Include <assert.h>.
diff --git a/Makeconfig b/Makeconfig
index 57f35f9..3ed9746 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -445,13 +445,13 @@ ifndef +link-static
+link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
$(addprefix $(csu-objpfx),$(static-start-installed-name)) \
- $(+preinit) $(+prector) \
+ $(+preinit) $(+prectorT) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(link-extra-libs-static) \
$(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs-static) $(link-libc-static)
-+link-static-after-libc = $(+postctor) $(+postinit)
++link-static-after-libc = $(+postctorT) $(+postinit)
+link-static = $(+link-static-before-libc) $(link-libc-static) \
$(+link-static-after-libc)
+link-static-tests = $(+link-static-before-libc) $(link-libc-static-tests) \
@@ -462,12 +462,12 @@ ifndef +link-bounded
+link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) \
$(addprefix $(csu-objpfx),b$(static-start-installed-name)) \
- $(+preinit) $(+prector) \
+ $(+preinit) $(+prectorT) \
$(filter-out $(addprefix $(csu-objpfx),start.ob \
$(start-installed-name))\
$(+preinit) $(link-extra-libs-bounded) \
$(common-objpfx)libc% $(+postinit),$^) \
- $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctor) $(+postinit)
+ $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctorT) $(+postinit)
endif
ifndef config-LDFLAGS
ifeq (yes,$(build-shared))
@@ -579,6 +579,9 @@ endif
# Variants of the two previous definitions for linking PIE programs.
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+# Variants of the two previous definitions for statically linking programs.
++prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
++postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+interp = $(addprefix $(elf-objpfx),interp.os)
csu-objpfx = $(common-objpfx)csu/
elf-objpfx = $(common-objpfx)elf/
diff --git a/NEWS b/NEWS
index 85e6a9e..7016a64 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.17
13939, 13966, 14042, 14090, 14166, 14150, 14151, 14154, 14157, 14166,
14173, 14195, 14237, 14252, 14283, 14298, 14303, 14307, 14328, 14331,
14336, 14337, 14347, 14349, 14459, 14476, 14505, 14510, 14516, 14519,
- 14532, 14538
+ 14532, 14538, 14544
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and