Use crtbeginT.o to statically link programs
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 5 Sep 2012 02:53:24 +0000 (19:53 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 6 Sep 2012 18:43:43 +0000 (11:43 -0700)
ChangeLog
Makeconfig
NEWS

index a48a5cb0796029592ef80fc6c519addf32da8e98..08fa5a1608cc43222979fc4f946e1088de1ab600 100644 (file)
--- 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>.
index 57f35f957ff094ccfd93ea1cf8cc1c57e9109e26..3ed9746dcc6d8be71fd6bd997648215fcb782f7d 100644 (file)
@@ -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 85e6a9e13719c71cdf8a23697324c76cc3cee12f..7016a64bff27f55b453d6dca4aff1d5babef3cdb 100644 (file)
--- 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