Use $(DEFAULT-LDFLAGS-$(@F)) in +link-static-before-libc

Use $(LDFLAGS-$(@F)) with tst-tls1-static-non-pie may not be sufficient
when static PIE is built by default.  Use $(DEFAULT-LDFLAGS-$(@F)) in
+link-static-before-libc to make sure that tst-tls1-static-non-pie is
always built as non-PIE static executable and make sure that crt1.o is
used with tst-tls1-static-non-pie.

	* Makeconfig (+link-static-before-libc): Use
	$(DEFAULT-LDFLAGS-$(@F)).
	* elf/Makefile (CRT-tst-tls1-static-non-pie): New.
	(LDFLAGS-tst-tls1-static-non-pie): Renamed to ...
	(DEFAULT-LDFLAGS-tst-tls1-static-non-pie): This.
This commit is contained in:
H.J. Lu 2017-10-04 17:15:50 -07:00
parent 5dba84b324
commit a67029ff12
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2017-10-04 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (+link-static-before-libc): Use
$(DEFAULT-LDFLAGS-$(@F)).
* elf/Makefile (CRT-tst-tls1-static-non-pie): New.
(LDFLAGS-tst-tls1-static-non-pie): Renamed to ...
(DEFAULT-LDFLAGS-tst-tls1-static-non-pie): This.
2017-10-04 H.J. Lu <hongjiu.lu@intel.com>
* elf/Makefile (tests): Add tst-main1.

View File

@ -435,6 +435,7 @@ endif
# Command for statically linking programs with the C library.
ifndef +link-static
+link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(DEFAULT-LDFLAGS-$(@F)) \
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
$(addprefix $(csu-objpfx),$(static-start-installed-name)) \
$(+preinit) $(+prectorT) \

View File

@ -152,7 +152,8 @@ tests-static-internal := tst-tls1-static tst-tls2-static \
tst-ptrguard1-static tst-stackguard1-static \
tst-tls1-static-non-pie
LDFLAGS-tst-tls1-static-non-pie = $(no-pie-ldflag)
CRT-tst-tls1-static-non-pie := $(csu-objpfx)crt1.o
DEFAULT-LDFLAGS-tst-tls1-static-non-pie = $(no-pie-ldflag)
tests := tst-tls9 tst-leaks1 \
tst-array1 tst-array2 tst-array3 tst-array4 tst-array5 \