From: H.J. Lu Date: Wed, 5 Sep 2012 02:53:24 +0000 (-0700) Subject: Use crtbeginT.o to statically link programs X-Git-Tag: glibc-2.17~578 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5055ad15a4cb063627653d0a2109f66ead63c33;p=thirdparty%2Fglibc.git Use crtbeginT.o to statically link programs --- diff --git a/ChangeLog b/ChangeLog index a48a5cb0796..08fa5a1608c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2012-09-06 H.J. Lu + + [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 * stdlib/gen-tst-strtod-round.c: Include . diff --git a/Makeconfig b/Makeconfig index 57f35f957ff..3ed9746dcc6 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 85e6a9e1371..7016a64bff2 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