diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-09-04 19:53:24 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-09-06 11:43:43 -0700 |
commit | a5055ad15a4cb063627653d0a2109f66ead63c33 (patch) | |
tree | 11780094df41853e87aa787a88048e0651cca38d | |
parent | 48bac3debbc7acd0a2e8fe8248780f9d2c043c10 (diff) | |
download | glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.tar glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.tar.gz glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.tar.bz2 glibc-a5055ad15a4cb063627653d0a2109f66ead63c33.zip |
Use crtbeginT.o to statically link programs
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | Makeconfig | 11 | ||||
-rw-r--r-- | NEWS | 2 |
3 files changed, 20 insertions, 5 deletions
@@ -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 57f35f957f..3ed9746dcc 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/ @@ -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 |