mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
Use static link by default for --disable-shared
This commit is contained in:
parent
15055a1cd7
commit
94b32c3912
@ -1,5 +1,12 @@
|
|||||||
2012-09-24 H.J. Lu <hongjiu.lu@intel.com>
|
2012-09-24 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
[BZ #13679]
|
||||||
|
* Makeconfig (+link): Defined as $(+link-static) if
|
||||||
|
$(build-shared) isn't yes.
|
||||||
|
(link-tests): Defined as $(+link-static-tests) if $(build-shared)
|
||||||
|
isn't yes.
|
||||||
|
(static-gnulib): Add -lgcc_eh if $(build-shared) isn't yes.
|
||||||
|
|
||||||
* Makeconfig (+postctorT): Replace crtendS.o with crtend.o.
|
* Makeconfig (+postctorT): Replace crtendS.o with crtend.o.
|
||||||
|
|
||||||
[BZ #14562]
|
[BZ #14562]
|
||||||
|
44
Makeconfig
44
Makeconfig
@ -411,22 +411,6 @@ LDFLAGS.so += $(hashstyle-LDFLAGS)
|
|||||||
LDFLAGS-rtld += $(hashstyle-LDFLAGS)
|
LDFLAGS-rtld += $(hashstyle-LDFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Commands for linking programs with the C library.
|
|
||||||
ifndef +link
|
|
||||||
+link-before-libc = $(CC) -nostdlib -nostartfiles -o $@ \
|
|
||||||
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
|
||||||
$(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
|
|
||||||
$(addprefix $(csu-objpfx),$(start-installed-name)) \
|
|
||||||
$(+preinit) $(+prector) \
|
|
||||||
$(filter-out $(addprefix $(csu-objpfx),start.o \
|
|
||||||
$(start-installed-name))\
|
|
||||||
$(+preinit) $(link-extra-libs) \
|
|
||||||
$(common-objpfx)libc% $(+postinit),$^) \
|
|
||||||
$(link-extra-libs)
|
|
||||||
+link-after-libc = $(+postctor) $(+postinit)
|
|
||||||
+link = $(+link-before-libc) $(link-libc) $(+link-after-libc)
|
|
||||||
+link-tests = $(+link-before-libc) $(link-libc-tests) $(+link-after-libc)
|
|
||||||
endif
|
|
||||||
# Command for linking PIE programs with the C library.
|
# Command for linking PIE programs with the C library.
|
||||||
ifndef +link-pie
|
ifndef +link-pie
|
||||||
+link-pie = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
|
+link-pie = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
|
||||||
@ -457,6 +441,27 @@ ifndef +link-static
|
|||||||
+link-static-tests = $(+link-static-before-libc) $(link-libc-static-tests) \
|
+link-static-tests = $(+link-static-before-libc) $(link-libc-static-tests) \
|
||||||
$(+link-static-after-libc)
|
$(+link-static-after-libc)
|
||||||
endif
|
endif
|
||||||
|
# Commands for linking programs with the C library.
|
||||||
|
ifndef +link
|
||||||
|
ifeq (yes,$(build-shared))
|
||||||
|
+link-before-libc = $(CC) -nostdlib -nostartfiles -o $@ \
|
||||||
|
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
||||||
|
$(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
|
||||||
|
$(addprefix $(csu-objpfx),$(start-installed-name)) \
|
||||||
|
$(+preinit) $(+prector) \
|
||||||
|
$(filter-out $(addprefix $(csu-objpfx),start.o \
|
||||||
|
$(start-installed-name))\
|
||||||
|
$(+preinit) $(link-extra-libs) \
|
||||||
|
$(common-objpfx)libc% $(+postinit),$^) \
|
||||||
|
$(link-extra-libs)
|
||||||
|
+link-after-libc = $(+postctor) $(+postinit)
|
||||||
|
+link = $(+link-before-libc) $(link-libc) $(+link-after-libc)
|
||||||
|
+link-tests = $(+link-before-libc) $(link-libc-tests) $(+link-after-libc)
|
||||||
|
else
|
||||||
|
+link = $(+link-static)
|
||||||
|
+link-tests = $(+link-static-tests)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
# Command for statically linking bounded-pointer programs with the C library.
|
# Command for statically linking bounded-pointer programs with the C library.
|
||||||
ifndef +link-bounded
|
ifndef +link-bounded
|
||||||
+link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
|
+link-bounded = $(CC) -nostdlib -nostartfiles -static -fbounded-pointers -o $@ \
|
||||||
@ -568,7 +573,14 @@ gnulib-arch =
|
|||||||
gnulib = -lgcc $(gnulib-arch)
|
gnulib = -lgcc $(gnulib-arch)
|
||||||
gnulib-tests := -lgcc $(libgcc_eh)
|
gnulib-tests := -lgcc $(libgcc_eh)
|
||||||
static-gnulib-arch =
|
static-gnulib-arch =
|
||||||
|
# By default, elf/static-stubs.o, instead of -lgcc_eh, is used to
|
||||||
|
# statically link programs. When --disable-shared is used, we use
|
||||||
|
# -lgcc_eh since elf/static-stubs.o isn't sufficient.
|
||||||
|
ifeq (yes,$(build-shared))
|
||||||
static-gnulib = -lgcc $(static-gnulib-arch)
|
static-gnulib = -lgcc $(static-gnulib-arch)
|
||||||
|
else
|
||||||
|
static-gnulib = -lgcc -lgcc_eh $(static-gnulib-arch)
|
||||||
|
endif
|
||||||
static-gnulib-tests := -lgcc -lgcc_eh $(libunwind)
|
static-gnulib-tests := -lgcc -lgcc_eh $(libunwind)
|
||||||
libc.so-gnulib := -lgcc
|
libc.so-gnulib := -lgcc
|
||||||
endif
|
endif
|
||||||
|
10
NEWS
10
NEWS
@ -10,11 +10,11 @@ Version 2.17
|
|||||||
* The following bugs are resolved with this release:
|
* The following bugs are resolved with this release:
|
||||||
|
|
||||||
1349, 3479, 5044, 5400, 6778, 6808, 9685, 9914, 10014, 10038, 11607,
|
1349, 3479, 5044, 5400, 6778, 6808, 9685, 9914, 10014, 10038, 11607,
|
||||||
13412, 13542, 13717, 13696, 13939, 13966, 14042, 14090, 14166, 14150,
|
13412, 13542, 13679, 13717, 13696, 13939, 13966, 14042, 14090, 14166,
|
||||||
14151, 14154, 14157, 14166, 14173, 14195, 14237, 14252, 14283, 14298,
|
14150, 14151, 14154, 14157, 14166, 14173, 14195, 14237, 14252, 14283,
|
||||||
14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349, 14459, 14476,
|
14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349, 14459,
|
||||||
14505, 14510, 14516, 14518, 14519, 14532, 14538, 14544, 14545, 14562,
|
14476, 14505, 14510, 14516, 14518, 14519, 14532, 14538, 14544, 14545,
|
||||||
14576, 14579, 14583, 14587.
|
14562, 14576, 14579, 14583, 14587.
|
||||||
|
|
||||||
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
|
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
|
||||||
Optimized versions of memcpy, memset, and memcmp added for System z10 and
|
Optimized versions of memcpy, memset, and memcmp added for System z10 and
|
||||||
|
Loading…
Reference in New Issue
Block a user