Don't use run-via-rtld-prefix for anything other than tests

run-via-rtld-prefix checks whether the program to be run is a static
test and skips if it is.  This is fine, except that it assumes that
the program to be run is the second $^, which is true only for tests.

This change creates an rtld-prefix, which is simply the dynamic linker
prefix with the necessary arguments and uses that in the non-test
targets.
This commit is contained in:
Siddhesh Poyarekar 2013-04-11 09:37:50 +05:30
parent 8da491f585
commit 01dc6df938
4 changed files with 10 additions and 5 deletions

View File

@ -1,5 +1,9 @@
2013-04-11 Siddhesh Poyarekar <siddhesh@redhat.com>
* Makeconfig (rtld-prefix): Define built linker prefix.
* Rules (run-bench): Use it.
* math/Makefile (run-regen-ulps): Likewise.
* Rules (bench): Remove eval.
2013-04-10 Siddhesh Poyarekar <siddhesh@redhat.com>

View File

@ -604,6 +604,9 @@ endif
# How to run a program we just linked with our library.
# The program binary is assumed to be $(word 2,$^).
built-program-file = $(dir $(word 2,$^))$(notdir $(word 2,$^))
rtld-prefix = $(elf-objpfx)$(rtld-installed-name) \
--library-path \
$(rpath-link)$(patsubst %,:%,$(sysdep-library-path))
ifeq (yes,$(build-shared))
comma = ,
sysdep-library-path = \
@ -617,9 +620,7 @@ $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
# empty.
run-via-rtld-prefix = \
$(if $(strip $(filter $(notdir $(built-program-file)), \
$(tests-static) $(xtests-static))),, \
$(elf-objpfx)$(rtld-installed-name) \
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)))
$(tests-static) $(xtests-static))),, $(rtld-prefix))
else
run-via-rtld-prefix =
endif

2
Rules
View File

@ -194,7 +194,7 @@ binaries-bench := $(addprefix $(objpfx)bench-,$(bench))
run-bench = $(test-wrapper-env) \
GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
$($*-ENV) $(run-via-rtld-prefix) $${run}
$($*-ENV) $(rtld-prefix) $${run}
bench: $(binaries-bench)
for run in $^; do \

View File

@ -156,7 +156,7 @@ ifneq (no,$(PERL))
run-regen-ulps = $(test-wrapper-env) \
GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
$($*-ENV) $(run-via-rtld-prefix) $${run}
$($*-ENV) $(rtld-prefix) $${run}
regen-ulps: $(addprefix $(objpfx),$(libm-tests))
rm -f $(objpfx)ULPs; rm -f $(objpfx)NewUlps; \