Use crtbeginT.o to statically link programs

This commit is contained in:
H.J. Lu 2012-09-04 19:53:24 -07:00
parent 48bac3debb
commit a5055ad15a
3 changed files with 20 additions and 5 deletions

View File

@ -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>.

View 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/

2
NEWS
View File

@ -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