This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-102-g740b3db


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  740b3dbee8ef034019b240dc4838b39dfa0c01e2 (commit)
      from  c6fe55cf6089fc5cf1cea15fc7e1c9a8b90d9fda (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=740b3dbee8ef034019b240dc4838b39dfa0c01e2

commit 740b3dbee8ef034019b240dc4838b39dfa0c01e2
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jan 11 07:14:18 2013 -0800

    Add --enable-hardcoded-path-in-tests configure option

diff --git a/ChangeLog b/ChangeLog
index 8bf5772..dc9ea95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,129 @@
+2013-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makeconfig (+link-pie-before-libc): New.
+	(+link-pie-after-libc): Likewise.
+	(+link-pie-tests): Likewise.
+	(+link-pie): Rewritten.
+	(link-before-libc): Remove $(config-LDFLAGS).
+	(+link): Add $(rtld-LDFLAGS) after $(+link-before-libc).
+	(+link-tests): Add $(rtld-tests-LDFLAGS) after $(+link-before-libc).
+	(config-LDFLAGS): Renamed to ...
+	(rtld-LDFLAGS): This.
+	(rtld-tests-LDFLAGS): New macro.
+	(link-libc-rpath-link): Likewise.
+	(link-libc-tests-rpath-link): Likewise.
+	(link-libc-before-gnulib): Remove -Wl,-rpath-link=$(rpath-link).
+	(link-libc): Prepand $(link-libc-rpath-link).
+	(link-libc-tests): Prepand $(link-libc-tests-rpath-link).
+	(test-program-prefix): New macro.
+	(test-via-rtld-prefix): Likewise.
+	(test-program-cmd): Likewise.
+	(host-test-program-cmd): Likewise.
+	* Makefile ($(common-objpfx)testrun.sh): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* Makerules ($(LINK.o)): Replace $(config-LDFLAGS) with
+	$(rtld-LDFLAGS).
+	($(common-objpfx)shlib.lds): Likewise.
+	(build-module-helper): Likewise.
+	($(common-objpfx)format.lds): Likewise.
+	* Rules (binaries-pie-tests): New.
+	(binaries-pie-notests): Likewise.
+	(binaries-pie): Rewritten.
+	($(addprefix $(objpfx),$(binaries-pie))): Renamed to ...
+	($(addprefix $(objpfx),$(binaries-pie-notests))): This.
+	($(addprefix $(objpfx),$(binaries-pie-tests))): New.
+	(make-test-out): Replace $(host-built-program-cmd) with
+	$(host-test-program-cmd).
+	* config.make.in (build-hardcoded-path-in-tests): New variable.
+	* configure.in (--enable-hardcoded-path-in-tests): New configure
+	option.
+	(hardcoded_path_in_tests): New AC_SUBST.
+	* configure: Regenerated.
+	* catgets/Makefile ($(objpfx)test-gencat.out): Replace
+	$(built-program-cmd) with $(test-program-cmd).
+	* catgets/test-gencat.sh (run_program_cmd): Renamed to ...
+	(test_program_cmd): This.
+	* elf/Makefile ($(objpfx)order.out): Run test with
+	$(test-program-prefix).
+	($(objpfx)order2.out): Likewise.
+	($(objpfx)tst-initorder.out): Likewise.
+	($(objpfx)tst-initorder2.out): Likewise.
+	($(objpfx)tst-array1.out): Replace $(built-program-cmd) with
+	$(test-program-cmd).
+	($(objpfx)tst-array1-static.out): Likewise.
+	($(objpfx)tst-array2.out): Likewise.
+	($(objpfx)tst-array3.out): Likewise.
+	($(objpfx)tst-array4.out): Likewise.
+	($(objpfx)tst-array5.out): Likewise.
+	($(objpfx)tst-array5-static.out): Likewise.
+	(tst-stackguard1-ARGS): Replace $(built-program-cmd) with
+	$(test-program-cmd).
+	* grp/Makefile ($(objpfx)tst_fgetgrent.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* grp/tst_fgetgrent.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* iconvdata/Makefile ($(objpfx)tst-tables.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* iconvdata/tst-table.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* iconvdata/tst-tables.sh: Likewise.
+	* intl/Makefile ($(objpfx)tst-gettext.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	($(objpfx)tst-translit.out): Likewise.
+	($(objpfx)tst-gettext2.out): Likewise.
+	($(objpfx)tst-gettext4.out): Likewise.
+	($(objpfx)tst-gettext6.out): Likewise.
+	* intl/tst-gettext.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* intl/tst-gettext2.sh: Likewise.
+	* intl/tst-gettext4.sh  Likewise.
+	* intl/tst-gettext6.sh: Likewise.
+	* intl/tst-translit.sh: Likewise.
+	* io/Makefile ($(objpfx)ftwtest.out): Replace $(run-program-cmd)
+	with $(test-program-cmd).
+	* libio/Makefile ($(objpfx)test-freopen.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* libio/test-freopen.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* malloc/Makefile ($(objpfx)tst-mtrace.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* malloc/tst-mtrace.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* manual/install.texi: Document --enable-hardcoded-path-in-tests.
+	* posix/Makefile ($(objpfx)globtest.out): Replace
+	$(run-via-rtld-prefix) and $(test-wrapper) with
+	$(test-program-prefix) and $(test-via-rtld-prefix).
+	($(objpfx)wordexp-tst.out): Replace $(run-program-prefix) with
+	$(test-program-prefix).
+	(tst-exec-ARGS): Replace $(host-built-program-cmd) with
+	$(host-test-program-cmd).
+	(tst-spawn-ARGS): Likewise.
+	($(objpfx)tst-rxspencer-mem): Replace $(run-program-prefix) with
+	$(test-program-prefix).
+	* posix/globtest.sh (un_via_rtld_prefix): Renamed to ...
+	(test_via_rtld_prefix): This.
+	(test_wrapper): Renamed to ...
+	(test_program_prefix): This.
+	(run_program_prefix): Replaced by test_program_prefix.
+	* posix/wordexp-tst.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* rt/Makefile (tst-mqueue7-ARGS): Replace $(host-built-program-cmd)
+	with $(host-test-program-cmd).
+	* stdio-common/Makefile ($(objpfx)tst-unbputc.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	($(objpfx)tst-printf.out): Likewise.
+	($(objpfx)tst-setvbuf1.out): Replace $(built-program-cmd) with
+	$(test-program-cmd).
+	* stdio-common/tst-printf.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* stdio-common/tst-unbputc.sh: Likewise.
+	* stdlib/Makefile ($(objpfx)tst-fmtmsg.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	* stdlib/tst-fmtmsg.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* string/Makefile ($(objpfx)tst-svc.out):  Replace
+	$(built-program-cmd) with $(test-program-cmd).
+
 2013-01-11  Andreas Jaeger  <aj@suse.de>
 
 	[BZ #15003]
diff --git a/Makeconfig b/Makeconfig
index d2158f1..8da4ad3 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -379,8 +379,8 @@ endif
 
 # Command for linking PIE programs with the C library.
 ifndef +link-pie
-+link-pie = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
-	     $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
++link-pie-before-libc = $(CC) -pie -Wl,-O1 -nostdlib -nostartfiles -o $@ \
+	     $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
 	     $(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
 	     $(addprefix $(csu-objpfx),S$(start-installed-name)) \
 	     $(+preinit) $(+prectorS) \
@@ -388,7 +388,12 @@ ifndef +link-pie
 						    S$(start-installed-name))\
 			  $(+preinit) $(link-extra-libs) \
 			  $(common-objpfx)libc% $(+postinit),$^) \
-	     $(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit)
+	     $(link-extra-libs)
++link-pie-after-libc = $(+postctorS) $(+postinit)
++link-pie = $(+link-pie-before-libc) $(rtld-LDFLAGS) $(link-libc) \
+	    $(+link-pie-after-libc)
++link-pie-tests = $(+link-pie-before-libc) $(rtld-tests-LDFLAGS) \
+		  $(link-libc-tests) $(+link-pie-after-libc)
 endif
 # Command for statically linking programs with the C library.
 ifndef +link-static
@@ -411,7 +416,7 @@ endif
 ifndef +link
 ifeq (yes,$(build-shared))
 +link-before-libc = $(CC) -nostdlib -nostartfiles -o $@ \
-	      $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
+	      $(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
 	      $(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
 	      $(addprefix $(csu-objpfx),$(start-installed-name)) \
 	      $(+preinit) $(+prector) \
@@ -421,8 +426,10 @@ ifeq (yes,$(build-shared))
 			   $(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)
++link = $(+link-before-libc) $(rtld-LDFLAGS) $(link-libc) \
+	$(+link-after-libc)
++link-tests = $(+link-before-libc) $(rtld-tests-LDFLAGS) \
+	      $(link-libc-tests) $(+link-after-libc)
 else
 +link = $(+link-static)
 +link-tests = $(+link-static-tests)
@@ -440,9 +447,16 @@ ifndef +link-bounded
 			   $(common-objpfx)libc% $(+postinit),$^) \
 	      $(link-extra-libs-bounded) $(link-libc-bounded) $(+postctorT) $(+postinit)
 endif
-ifndef config-LDFLAGS
 ifeq (yes,$(build-shared))
-config-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
+ifndef rtld-LDFLAGS
+rtld-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
+endif
+ifndef rtld-tests-LDFLAGS
+ifeq (yes,$(build-hardcoded-path-in-tests))
+rtld-tests-LDFLAGS = -Wl,-dynamic-linker=$(common-objpfx)elf/ld.so
+else
+rtld-tests-LDFLAGS = $(rtld-LDFLAGS)
+endif
 endif
 endif
 ifndef link-libc
@@ -450,12 +464,19 @@ ifeq (yes,$(build-shared))
 # We need the versioned name of libc.so in the deps of $(others) et al
 # so that the symlink to libc.so is created before anything tries to
 # run the linked programs.
-link-libc-before-gnulib = -Wl,-rpath-link=$(rpath-link) \
-	    $(common-objpfx)libc.so$(libc.so-version) \
-	    $(common-objpfx)$(patsubst %,$(libtype.oS),c) \
-	    $(as-needed) $(common-objpfx)elf/ld.so $(no-as-needed)
-link-libc = $(link-libc-before-gnulib) $(gnulib)
-link-libc-tests = $(link-libc-before-gnulib) $(gnulib-tests)
+link-libc-rpath-link = -Wl,-rpath-link=$(rpath-link)
+ifeq (yes,$(build-hardcoded-path-in-tests))
+link-libc-tests-rpath-link = -Wl,-rpath=$(rpath-link)
+else
+link-libc-tests-rpath-link = $(link-libc-rpath-link)
+endif
+link-libc-before-gnulib = $(common-objpfx)libc.so$(libc.so-version) \
+			  $(common-objpfx)$(patsubst %,$(libtype.oS),c) \
+			  $(as-needed) $(common-objpfx)elf/ld.so \
+			  $(no-as-needed)
+link-libc = $(link-libc-rpath-link) $(link-libc-before-gnulib) $(gnulib)
+link-libc-tests = $(link-libc-tests-rpath-link) \
+		  $(link-libc-before-gnulib) $(gnulib-tests)
 # This is how to find at build-time things that will be installed there.
 rpath-dirs = math elf dlfcn nss nis rt resolv crypt
 rpath-link = \
@@ -628,6 +649,40 @@ ifndef LD
 LD := ld -X
 endif
 
+# $(test-via-rtld-prefix) is a command that, when prepended to the name
+# of a test program built with the newly built library, produces a command
+# that, executed on the host for which the library is built, runs that
+# program.  For the statically-linked %-bp test programs, and for
+# tests listed in tests-static or xtests-static as well as when test
+# programs are hardcoded to the newly built libraries, it is empty.
+
+# $(test-program-prefix) is a command that, when prepended to the name
+# of a test program built with the newly built library, produces a command
+# that, executed on the build system on which "make" is run, runs that
+# test program.
+
+# $(test-program-cmd) is a command that, executed on the build system
+# on which "make" is run, runs the newly built test program that is the
+# second dependency of the makefile target in which
+# $(test-program-cmd) is used.
+
+# $(host-test-program-cmd) is a command that, executed on the host
+# for which the library is built, runs the newly built test program that
+# is the second dependency of the makefile target in which
+# $(host-test-program-cmd) is used.
+
+ifeq (yes,$(build-hardcoded-path-in-tests))
+test-via-rtld-prefix =
+test-program-prefix = $(test-wrapper)
+test-program-cmd = $(test-wrapper) $(built-program-file)
+host-test-program-cmd = $(built-program-file)
+else
+test-via-rtld-prefix = $(run-via-rtld-prefix)
+test-program-prefix = $(run-program-prefix)
+test-program-cmd = $(built-program-cmd)
+host-test-program-cmd = $(host-built-program-cmd)
+endif
+
 # Extra flags to pass to GCC.
 ifeq ($(all-warnings),yes)
 +gccwarn := -Wall -Wwrite-strings -Winline -Wcast-qual -Wbad-function-cast -Wmissing-noreturn -Wmissing-prototypes -Wmissing-declarations -Wcomment -Wcomments -Wtrigraphs -Wsign-compare -Wfloat-equal -Wmultichar
diff --git a/Makefile b/Makefile
index 3ae5211..c12e332 100644
--- a/Makefile
+++ b/Makefile
@@ -155,7 +155,7 @@ $(common-objpfx)testrun.sh: $(common-objpfx)config.make \
 	 echo 'builddir=`dirname "$$0"`'; \
 	 echo 'GCONV_PATH="$${builddir}/iconvdata" \'; \
 	 echo 'exec $(subst $(common-objdir),"$${builddir}",\
-			    $(run-program-prefix)) $${1+"$$@"}'; \
+			    $(test-program-prefix)) $${1+"$$@"}'; \
 	) > $@T
 	chmod a+x $@T
 	mv -f $@T $@
diff --git a/Makerules b/Makerules
index 0463244..ce86d50 100644
--- a/Makerules
+++ b/Makerules
@@ -447,7 +447,7 @@ lib%.so: lib%_pic.a $(+preinit) $(+postinit) $(+interp)
 
 define build-shlib-helper
 $(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
-	  $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) $(config-LDFLAGS) \
+	  $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) $(rtld-LDFLAGS) \
 	  $(extra-B-$(@F:lib%.so=%).so) -B$(csu-objpfx) \
 	  $(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \
 	  -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
@@ -465,7 +465,7 @@ else
 $(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
 	$(LINK.o) -shared -Wl,-O1 \
 		  -nostdlib -nostartfiles \
-		  $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
+		  $(sysdep-LDFLAGS) $(rtld-LDFLAGS) $(LDFLAGS.so) \
 		  -Wl,--verbose 2>&1 | \
 	  sed > $@T \
 	      -e '/^=========/,/^=========/!d;/^=========/d' \
@@ -505,7 +505,7 @@ $(build-shlib-helper) -o $@ $(shlib-lds-flags) \
 endef
 
 define build-module-helper
-$(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+$(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \
 	  $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \
 	  -B$(csu-objpfx) $(load-map-file) \
 	  $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
@@ -909,7 +909,7 @@ $(common-objpfx)format.lds: $(..)scripts/output-format.sed \
 ifneq (unknown,$(output-format))
 	echo > $@.new 'OUTPUT_FORMAT($(output-format))'
 else
-	$(LINK.o) -shared $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
+	$(LINK.o) -shared $(sysdep-LDFLAGS) $(rtld-LDFLAGS) $(LDFLAGS.so) \
 		  -x c /dev/null -o $@.so -Wl,--verbose -v 2>&1 \
 	| sed -n -f $< > $@.new
 	test -s $@.new
diff --git a/Rules b/Rules
index 5c5aa60..5728d09 100644
--- a/Rules
+++ b/Rules
@@ -114,9 +114,11 @@ binaries-static-notests = $(others-static)
 binaries-static-tests = $(tests-static) $(xtests-static)
 binaries-static = $(binaries-static-notests) $(binaries-static-tests)
 ifeq (yesyes,$(have-fpie)$(build-shared))
-binaries-pie = $(others-pie) $(tests-pie) $(xtests-pie)
+binaries-pie-tests = $(tests-pie) $(xtests-pie)
+binaries-pie-notests = $(others-pie)
 else
-binaries-pie =
+binaries-pie-tests =
+binaries-pie-notests =
 endif
 else
 binaries-all-notests =
@@ -125,9 +127,11 @@ binaries-all = $(binaries-all-tests)
 binaries-static-notests =
 binaries-static-tests =
 binaries-static =
-binaries-pie =
+binaries-pie-tests =
+binaries-pie-notests =
 endif
 
+binaries-pie = $(binaries-pie-tests) $(binaries-pie-notests)
 binaries-shared-tests = $(filter-out $(binaries-pie) $(binaries-static), \
 				     $(binaries-all-tests))
 binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \
@@ -147,8 +151,15 @@ $(addprefix $(objpfx),$(binaries-shared-tests)): %: %.o \
 	$(+link-tests)
 endif
 
-ifneq "$(strip $(binaries-pie))" ""
-$(addprefix $(objpfx),$(binaries-pie)): %: %.o \
+ifneq "$(strip $(binaries-pie-tests))" ""
+$(addprefix $(objpfx),$(binaries-pie-tests)): %: %.o \
+  $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
+  $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
+	$(+link-pie-tests)
+endif
+
+ifneq "$(strip $(binaries-pie-notests))" ""
+$(addprefix $(objpfx),$(binaries-pie-notests)): %: %.o \
   $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
   $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
 	$(+link-pie)
@@ -182,7 +193,7 @@ ifneq "$(strip $(tests) $(xtests) $(test-srcs))" ""
 
 make-test-out = $(test-wrapper-env) \
 		GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
-		$($*-ENV) $(host-built-program-cmd) $($*-ARGS)
+		$($*-ENV) $(host-test-program-cmd) $($*-ARGS)
 $(objpfx)%-bp.out: %.input $(objpfx)%-bp
 	$(make-test-out) > $@ < $(word 1,$^)
 $(objpfx)%.out: %.input $(objpfx)%
diff --git a/catgets/Makefile b/catgets/Makefile
index 480ead9..205cda7 100644
--- a/catgets/Makefile
+++ b/catgets/Makefile
@@ -75,7 +75,7 @@ $(objpfx)de.msg: xopen-msg.awk $(..)po/de.po
 
 $(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \
 			  $(objpfx)sample.SJIS.cat
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
 
 $(objpfx)sample.SJIS.cat: sample.SJIS $(objpfx)gencat
 	GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
diff --git a/catgets/test-gencat.sh b/catgets/test-gencat.sh
index 7f36ec0..69bdb54 100755
--- a/catgets/test-gencat.sh
+++ b/catgets/test-gencat.sh
@@ -20,12 +20,12 @@
 set -e
 
 common_objpfx=$1
-run_program_cmd=$2
+test_program_cmd=$2
 
 # Run the test program.
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
 NLSPATH=${common_objpfx}catgets/%N.%c.cat LC_ALL=ja_JP.SJIS \
-  ${run_program_cmd} \
+  ${test_program_cmd} \
     > ${common_objpfx}catgets/test-gencat.out
 
 # Compare with the expected result.
diff --git a/config.make.in b/config.make.in
index 7f1bbb5..ed27163 100644
--- a/config.make.in
+++ b/config.make.in
@@ -101,6 +101,7 @@ force-install = @force_install@
 link-obsolete-rpc = @link_obsolete_rpc@
 build-nscd = @build_nscd@
 use-nscd = @use_nscd@
+build-hardcoded-path-in-tests= @hardcoded_path_in_tests@
 
 # Build tools.
 CC = @CC@
diff --git a/configure b/configure
index bdca5b3..89dfc98 100755
--- a/configure
+++ b/configure
@@ -659,6 +659,7 @@ libc_cv_nss_crypt
 all_warnings
 force_install
 bindnow
+hardcoded_path_in_tests
 oldest_abi
 use_default_link
 sysheaders
@@ -745,6 +746,7 @@ enable_shared
 enable_profile
 enable_versioning
 enable_oldest_abi
+enable_hardcoded_path_in_tests
 enable_stackguard_randomization
 enable_add_ons
 enable_hidden_plt
@@ -1397,6 +1399,9 @@ Optional Features:
                           objects [default=yes if supported]
   --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
                           [default=glibc default]
+  --enable-hardcoded-path-in-tests
+                          hardcode newly built glibc path in tests
+                          [default=no]
   --enable-stackguard-randomization
                           initialize __stack_chk_guard canary with a random
                           number at program start
@@ -3698,6 +3703,15 @@ _ACEOF
 fi
 
 
+# Check whether --enable-hardcoded-path-in-tests was given.
+if test "${enable_hardcoded_path_in_tests+set}" = set; then :
+  enableval=$enable_hardcoded_path_in_tests; hardcoded_path_in_tests=$enableval
+else
+  hardcoded_path_in_tests=no
+fi
+
+
+
 # Check whether --enable-stackguard-randomization was given.
 if test "${enable_stackguard_randomization+set}" = set; then :
   enableval=$enable_stackguard_randomization; enable_stackguard_randomize=$enableval
diff --git a/configure.in b/configure.in
index 96da720..4e584c6 100644
--- a/configure.in
+++ b/configure.in
@@ -146,6 +146,13 @@ else
 fi
 AC_SUBST(oldest_abi)
 
+AC_ARG_ENABLE([hardcoded-path-in-tests],
+	      AC_HELP_STRING([--enable-hardcoded-path-in-tests],
+			     [hardcode newly built glibc path in tests @<:@default=no@:>@]),
+	      [hardcoded_path_in_tests=$enableval],
+	      [hardcoded_path_in_tests=no])
+AC_SUBST(hardcoded_path_in_tests)
+
 AC_ARG_ENABLE([stackguard-randomization],
 	      AC_HELP_STRING([--enable-stackguard-randomization],
 			     [initialize __stack_chk_guard canary with a random number at program start]),
diff --git a/elf/Makefile b/elf/Makefile
index 0d52318..84f8397 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -642,9 +642,7 @@ $(objpfx)circlemod2a.so: $(objpfx)circlemod3a.so
 $(objpfx)order: $(addprefix $(objpfx),dep4.so dep3.so dep2.so dep1.so)
 
 $(objpfx)order.out: $(objpfx)order
-	$(test-wrapper) \
-	$(elf-objpfx)$(rtld-installed-name) \
-	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	$(test-program-prefix) \
 	  $(objpfx)order > $@
 	(echo "0123456789" | cmp $@ -) > /dev/null
 
@@ -852,36 +850,36 @@ LDFLAGS-tst-execstack-prog = -Wl,-z,execstack
 endif
 
 $(objpfx)tst-array1.out: tst-array1.exp $(objpfx)tst-array1
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array1.exp > /dev/null
 
 $(objpfx)tst-array1-static.out: tst-array1.exp $(objpfx)tst-array1-static
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array1.exp > /dev/null
 
 $(objpfx)tst-array2: $(objpfx)tst-array2dep.so
 $(objpfx)tst-array2.out: tst-array2.exp $(objpfx)tst-array2
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array2.exp > /dev/null
 
 $(objpfx)tst-array3.out: tst-array1.exp $(objpfx)tst-array3
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array1.exp > /dev/null
 
 $(objpfx)tst-array4: $(libdl)
 $(objpfx)tst-array4.out: tst-array4.exp $(objpfx)tst-array4 \
 			 $(objpfx)tst-array2dep.so
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array4.exp > /dev/null
 
 $(objpfx)tst-array5: $(objpfx)tst-array5dep.so
 $(objpfx)tst-array5.out: tst-array5.exp $(objpfx)tst-array5
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array5.exp > /dev/null
 
 $(objpfx)tst-array5-static.out: tst-array5-static.exp \
 				$(objpfx)tst-array5-static
-	$(built-program-cmd) > $@
+	$(test-program-cmd) > $@
 	cmp $@ tst-array5-static.exp > /dev/null
 
 CFLAGS-tst-pie1.c += $(pie-ccflag)
@@ -1030,9 +1028,7 @@ $(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so
 $(objpfx)order2: $(libdl)
 $(objpfx)order2.out: $(objpfx)order2 $(objpfx)order2mod1.so \
 		     $(objpfx)order2mod2.so
-	$(test-wrapper) \
-	$(elf-objpfx)$(rtld-installed-name) \
-	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	$(test-program-prefix) \
 	  $(objpfx)order2 > $@
 	(echo "12345" | cmp $@ -) > /dev/null
 $(objpfx)order2mod1.so: $(objpfx)order2mod4.so
@@ -1042,7 +1038,7 @@ order2mod2.so-no-z-defs = yes
 LDFLAGS-order2mod1.so = $(no-as-needed)
 LDFLAGS-order2mod2.so = $(no-as-needed)
 
-tst-stackguard1-ARGS = --command "$(host-built-program-cmd) --child"
+tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child"
 tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child"
 
 $(objpfx)tst-leaks1: $(libdl)
@@ -1125,9 +1121,7 @@ $(objpfx)tst-unique3.out: $(objpfx)tst-unique3lib2.so
 $(objpfx)tst-unique4: $(objpfx)tst-unique4lib.so
 
 $(objpfx)tst-initorder.out: $(objpfx)tst-initorder
-	$(test-wrapper) \
-	$(elf-objpfx)${rtld-installed-name} \
-	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	$(test-program-prefix) \
 	  $< > $@
 	cmp $@ tst-initorder.exp > /dev/null
 
@@ -1147,9 +1141,7 @@ object-suffixes-left := a b c d
 include $(o-iterator)
 
 $(objpfx)tst-initorder2.out: $(objpfx)tst-initorder2
-	$(test-wrapper) \
-	$(elf-objpfx)${rtld-installed-name} \
-	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+	$(test-program-prefix) \
 	  $< > $@
 	cmp $@ tst-initorder2.exp > /dev/null
 
diff --git a/grp/Makefile b/grp/Makefile
index 6b4810a..d3549f0 100644
--- a/grp/Makefile
+++ b/grp/Makefile
@@ -55,7 +55,7 @@ ifeq ($(run-built-tests),yes)
 ifeq (yes,$(build-shared))
 tests: $(objpfx)tst_fgetgrent.out
 $(objpfx)tst_fgetgrent.out: tst_fgetgrent.sh $(objpfx)tst_fgetgrent
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 
 endif
 endif
diff --git a/grp/tst_fgetgrent.sh b/grp/tst_fgetgrent.sh
index 35a7a76..d4943db 100644
--- a/grp/tst_fgetgrent.sh
+++ b/grp/tst_fgetgrent.sh
@@ -20,22 +20,22 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 
 testout=${common_objpfx}/grp/tst_fgetgrent.out
 
 result=0
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}grp/tst_fgetgrent 0 > ${testout} || result=1
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}grp/tst_fgetgrent 1 >> ${testout} || result=1
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}grp/tst_fgetgrent 2 >> ${testout} || result=1
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}grp/tst_fgetgrent 3 >> ${testout} || result=1
 
 exit $result
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index edf7b09..7752013 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -305,7 +305,7 @@ $(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
 			 $(addprefix $(objpfx),$(modules.so)) \
 			 $(objpfx)tst-table-from $(objpfx)tst-table-to
 	$(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \
-		'$(run-program-prefix)' > $@
+		'$(test-program-prefix)' > $@
 
 do-tests-clean common-mostlyclean: tst-tables-clean
 
diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh
index 59166ca..b0e667d 100755
--- a/iconvdata/tst-table.sh
+++ b/iconvdata/tst-table.sh
@@ -23,7 +23,7 @@
 
 common_objpfx=$1
 objpfx=$2
-run_program_prefix=$3
+test_program_prefix=$3
 charset=$4
 charmap=$5
 
@@ -60,12 +60,12 @@ else
 fi
 
 # iconv in one direction.
-${run_program_prefix} \
+${test_program_prefix} \
 ${objpfx}tst-table-from ${charset} \
   > ${objpfx}tst-${charset}.table
 
 # iconv in the other direction.
-${run_program_prefix} \
+${test_program_prefix} \
 ${objpfx}tst-table-to ${charset} | sort \
   > ${objpfx}tst-${charset}.inverse.table
 
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index ff21aa8..8f4debd 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -23,7 +23,7 @@
 
 common_objpfx=$1
 objpfx=$2
-run_program_prefix=$3
+test_program_prefix=$3
 
 status=0
 
@@ -262,7 +262,7 @@ while read charset charmap; do
   if test "$charset" = GB18030; then echo "This might take a while" 1>&2; fi
   case ${charset} in \#*) continue;; esac
   echo -n "Testing ${charset}" 1>&2
-  if ./tst-table.sh ${common_objpfx} ${objpfx} "${run_program_prefix}" \
+  if ./tst-table.sh ${common_objpfx} ${objpfx} "${test_program_prefix}" \
       ${charset} ${charmap} < /dev/null; then
     echo 1>&2
   else
diff --git a/intl/Makefile b/intl/Makefile
index 3469f02..d8bff4a 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -74,18 +74,18 @@ $(codeset_mo): tstcodeset.po
 $(objpfx)mtrace-tst-gettext: $(objpfx)tst-gettext.out
 	$(common-objpfx)malloc/mtrace $(objpfx)tst-gettext.mtrace > $@
 $(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
 	  $(common-objpfx)intl/ $(objpfx)tst-gettext.mtrace
 $(objpfx)tst-translit.out: tst-translit.sh $(objpfx)tst-translit
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
 	  $(common-objpfx)intl/
 $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
 	  $(common-objpfx)intl/
 $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/
 $(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/
 
 $(objpfx)tst-codeset.out: $(codeset_mo)
 $(objpfx)tst-gettext3.out: $(codeset_mo)
diff --git a/intl/tst-gettext.sh b/intl/tst-gettext.sh
index f622840..87ebe7c 100755
--- a/intl/tst-gettext.sh
+++ b/intl/tst-gettext.sh
@@ -20,7 +20,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 malloc_trace=$4
 
@@ -54,7 +54,7 @@ export LOCPATH
 
 # Now run the test.
 MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \
-${run_program_prefix} \
+${test_program_prefix} \
 ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir
 
 exit $?
diff --git a/intl/tst-gettext2.sh b/intl/tst-gettext2.sh
index 9c8f298..c99ca4d 100644
--- a/intl/tst-gettext2.sh
+++ b/intl/tst-gettext2.sh
@@ -20,7 +20,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
 LC_ALL=C
@@ -67,7 +67,7 @@ LOCPATH=${objpfx}domaindir
 export LOCPATH
 
 # Now run the test.
-${run_program_prefix} \
+${test_program_prefix} \
 ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir &&
 cmp ${objpfx}tst-gettext2.out - <<EOF
 String1 - Lang1: 1st string
diff --git a/intl/tst-gettext4.sh b/intl/tst-gettext4.sh
index 657bd30..8f3342a 100755
--- a/intl/tst-gettext4.sh
+++ b/intl/tst-gettext4.sh
@@ -21,7 +21,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
 LC_ALL=C
@@ -39,6 +39,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${run_program_prefix} ${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
+${test_program_prefix} ${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
 
 exit $?
diff --git a/intl/tst-gettext6.sh b/intl/tst-gettext6.sh
index 9b7dc47..ab570e7 100644
--- a/intl/tst-gettext6.sh
+++ b/intl/tst-gettext6.sh
@@ -20,7 +20,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
 LC_ALL=C
@@ -36,6 +36,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${run_program_prefix} ${objpfx}tst-gettext6 > ${objpfx}tst-gettext6.out
+${test_program_prefix} ${objpfx}tst-gettext6 > ${objpfx}tst-gettext6.out
 
 exit $?
diff --git a/intl/tst-translit.sh b/intl/tst-translit.sh
index 90bfd9b..154ac1f 100755
--- a/intl/tst-translit.sh
+++ b/intl/tst-translit.sh
@@ -20,7 +20,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
 LC_ALL=C
@@ -37,7 +37,7 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${objpfx}tst-translit > ${objpfx}tst-translit.out ${objpfx}domaindir
 
 exit $?
diff --git a/io/Makefile b/io/Makefile
index bbe989a..86453d4 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -104,5 +104,5 @@ ifeq ($(run-built-tests),yes)
 tests: $(objpfx)ftwtest.out
 
 $(objpfx)ftwtest.out: ftwtest-sh $(objpfx)ftwtest
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)' > $@
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@
 endif
diff --git a/libio/Makefile b/libio/Makefile
index 9001966..e15cd40 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -186,7 +186,7 @@ endif
 endif
 
 $(objpfx)test-freopen.out: test-freopen.sh $(objpfx)test-freopen
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'	\
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'	\
 	$(common-objpfx)libio/
 
 $(objpfx)tst-fopenloc.check: $(objpfx)tst-fopenloc.out
diff --git a/libio/test-freopen.sh b/libio/test-freopen.sh
index 2cb274d..3b05614 100755
--- a/libio/test-freopen.sh
+++ b/libio/test-freopen.sh
@@ -20,10 +20,10 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
-${run_program_prefix} ${objpfx}test-freopen ${objpfx}test-freopen.out &&
+${test_program_prefix} ${objpfx}test-freopen ${objpfx}test-freopen.out &&
 cmp ${objpfx}test-freopen.out - <<"EOF"
 Hello world (mb)
 Hello world (wc)
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 0c0f2e8..2279861 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,30 @@
+2013-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile ($(objpfx)sort-test.out): Replace
+	$(run-program-prefix) with $(test-program-prefix).
+	($(objpfx)tst-numeric.out): Likewise.
+	($(objpfx)tst-mbswcs.out): Likewise.
+	($(objpfx)tst-fmon.out): Add $(test-program-prefix).
+	($(objpfx)tst-trans.out): Likewise.
+	($(objpfx)tst-rpmatch.out): Replace $(built-program-cmd) with
+	$(test-program-cmd).
+	($(objpfx)tst-ctype.out): Likewise.
+	($(objpfx)tst-wctype.out): Likewise.
+	($(objpfx)tst-langinfo.out): Likewise.
+	(bug-setlocale1-ARGS): Replace $(built-program-cmd) with
+	$(test-program-cmd).
+	* sort-test.sh (run_program_prefix): Renamed to ...
+	(test_program_prefix): This.
+	* tst-mbswcs.sh: Likewise.
+	* tst-numeric.sh: Likewise.
+	* tst-wctype.sh: Likewise.
+	* tst-fmon.sh (test_program_prefix): New. Replace
+	${run_program_prefix} with ${test_program_prefix} when running.
+	tst-fmon.
+	* tst-trans.sh: (test_program_prefix): New.  Replace
+	${run_program_prefix} with ${test_program_prefix} when running
+	tst-trans.
+
 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* Makefile (tests-static): New variable.
diff --git a/localedata/Makefile b/localedata/Makefile
index 9239164..11a6a79 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -147,17 +147,18 @@ tests: $(objpfx)sort-test.out $(objpfx)tst-fmon.out $(objpfx)tst-locale.out \
 
 $(objpfx)sort-test.out: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
 		       $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' $(test-input) \
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(test-input) \
 	  > $@
 $(objpfx)tst-fmon.out: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data \
 		       $(objpfx)sort-test.out \
 		       $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' tst-fmon.data \
+	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
+		'$(test-program-prefix)' tst-fmon.data  \
 	  > $@
 $(objpfx)tst-numeric.out: tst-numeric.sh $(objpfx)tst-numeric tst-numeric.data \
 		       $(objpfx)sort-test.out \
 		       $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' tst-numeric.data \
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' tst-numeric.data \
 	  > $@
 $(objpfx)tst-locale.out: tst-locale.sh $(common-objpfx)locale/localedef \
 			 $(ld-test-srcs) $(addprefix $(objpfx),$(CTYPE_FILES))
@@ -165,27 +166,27 @@ $(objpfx)tst-locale.out: tst-locale.sh $(common-objpfx)locale/localedef \
 $(objpfx)tst-rpmatch.out: tst-rpmatch.sh $(objpfx)tst-rpmatch \
 			  $(objpfx)tst-fmon.out \
 			  $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)' > $@
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@
 $(objpfx)tst-trans.out: tst-trans.sh $(objpfx)tst-trans \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' '$(test-program-prefix)'
 $(objpfx)tst-mbswcs.out: tst-mbswcs.sh $(objpfx)tst-mbswcs1 \
 			 $(objpfx)tst-mbswcs2 $(objpfx)tst-mbswcs3 \
 			 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 \
 			 $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 $(objpfx)tst-ctype.out: tst-ctype.sh $(objpfx)tst-ctype \
 			$(objpfx)sort-test.out \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
 $(objpfx)tst-wctype.out: tst-wctype.sh $(objpfx)tst-wctype \
 			$(objpfx)sort-test.out tst-wctype.input \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
 $(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \
 			$(objpfx)sort-test.out \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
 $(objpfx)tst-digits.out: $(objpfx)tst-locale.out
 $(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES))
 endif
@@ -287,7 +288,7 @@ $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
 	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
 
 bug-setlocale1-ENV = LOCPATH=$(common-objpfx)localedata
-bug-setlocale1-ARGS = -- $(built-program-cmd)
+bug-setlocale1-ARGS = -- $(test-program-cmd)
 bug-setlocale1-static-ENV = $(bug-setlocale1-ENV)
 bug-setlocale1-static-ARGS = $(bug-setlocale1-ARGS)
 tst-setlocale2-ENV = LOCPATH=$(common-objpfx)localedata
diff --git a/localedata/sort-test.sh b/localedata/sort-test.sh
index 5506a75..b74ae9d 100644
--- a/localedata/sort-test.sh
+++ b/localedata/sort-test.sh
@@ -20,7 +20,7 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 lang=$*
 
 id=${PPID:-100}
@@ -32,7 +32,7 @@ for l in $lang; do
   here=0
   cns=`echo $l | sed 's/\(.*\)[.][^.]*/\1/'`
   LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}/iconvdata \
-   LC_ALL=$l ${run_program_prefix} \
+   LC_ALL=$l ${test_program_prefix} \
    ${common_objpfx}localedata/collate-test $id < $cns.in \
    > ${common_objpfx}localedata/$cns.out || here=1
   cmp -s $cns.in ${common_objpfx}localedata/$cns.out || here=1
@@ -45,7 +45,7 @@ for l in $lang; do
   fi
 
   LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}/iconvdata \
-   LC_ALL=$l ${run_program_prefix} \
+   LC_ALL=$l ${test_program_prefix} \
    ${common_objpfx}localedata/xfrm-test $id < $cns.in \
    > ${common_objpfx}localedata/$cns.xout || here=1
   cmp -s $cns.in ${common_objpfx}localedata/$cns.xout || here=1
diff --git a/localedata/tst-fmon.sh b/localedata/tst-fmon.sh
index fa006fa..b3d8085 100755
--- a/localedata/tst-fmon.sh
+++ b/localedata/tst-fmon.sh
@@ -22,7 +22,8 @@ set -e
 
 common_objpfx=$1
 run_program_prefix=$2
-datafile=$3
+test_program_prefix=$3
+datafile=$4
 
 here=`pwd`
 
@@ -47,7 +48,7 @@ while IFS="	" read locale format value expect; do
 	expect=`echo "$expect" | sed 's/^\"\(.*\)\"$/\1/'`
 	LOCPATH=${common_objpfx}localedata \
 	GCONV_PATH=${common_objpfx}/iconvdata \
-	${run_program_prefix} ${common_objpfx}localedata/tst-fmon \
+	${test_program_prefix} ${common_objpfx}localedata/tst-fmon \
 	"$locale" "$format" "$value" "$expect" < /dev/null ||
 	errcode=$?
     fi
diff --git a/localedata/tst-mbswcs.sh b/localedata/tst-mbswcs.sh
index bc44236..af3b3ae 100755
--- a/localedata/tst-mbswcs.sh
+++ b/localedata/tst-mbswcs.sh
@@ -20,29 +20,29 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 
 status=0
 
 # Run the test programs.
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} ${common_objpfx}localedata/tst-mbswcs1 \
+${test_program_prefix} ${common_objpfx}localedata/tst-mbswcs1 \
   > ${common_objpfx}localedata/tst-mbswcs.out || status=1
 
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} ${common_objpfx}localedata/tst-mbswcs2 \
+${test_program_prefix} ${common_objpfx}localedata/tst-mbswcs2 \
   >> ${common_objpfx}localedata/tst-mbswcs.out || status=1
 
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} ${common_objpfx}localedata/tst-mbswcs3 \
+${test_program_prefix} ${common_objpfx}localedata/tst-mbswcs3 \
   >> ${common_objpfx}localedata/tst-mbswcs.out || status=1
 
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} ${common_objpfx}localedata/tst-mbswcs4 \
+${test_program_prefix} ${common_objpfx}localedata/tst-mbswcs4 \
   >> ${common_objpfx}localedata/tst-mbswcs.out || status=1
 
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} ${common_objpfx}localedata/tst-mbswcs5 \
+${test_program_prefix} ${common_objpfx}localedata/tst-mbswcs5 \
   >> ${common_objpfx}localedata/tst-mbswcs.out || status=1
 
 exit $status
diff --git a/localedata/tst-numeric.sh b/localedata/tst-numeric.sh
index 3c3ed26..035f3b4 100644
--- a/localedata/tst-numeric.sh
+++ b/localedata/tst-numeric.sh
@@ -21,7 +21,7 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 datafile=$3
 
 # Run the tests.
@@ -32,7 +32,7 @@ while IFS="	" read locale format value expect; do
     if [ -n "$format" ]; then
 	if LOCPATH=${common_objpfx}localedata \
 	    GCONV_PATH=${common_objpfx}/iconvdata \
-	    ${run_program_prefix} ${common_objpfx}localedata/tst-numeric \
+	    ${test_program_prefix} ${common_objpfx}localedata/tst-numeric \
 	    "$locale" "$format" "$value" "$expect" < /dev/null
 	then
 	    echo "Locale: \"${locale}\" Format: \"${format}\"" \
diff --git a/localedata/tst-trans.sh b/localedata/tst-trans.sh
index e083c61..2037994 100755
--- a/localedata/tst-trans.sh
+++ b/localedata/tst-trans.sh
@@ -21,6 +21,7 @@ set -e
 
 common_objpfx=$1
 run_program_prefix=$2
+test_program_prefix=$3
 
 # Generate the necessary locale data.
 I18NPATH=. GCONV_PATH=${common_objpfx}/iconvdata \
@@ -32,7 +33,7 @@ exit 1
 
 # Run the test program.
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-LC_ALL=tt_TT ${run_program_prefix} \
+LC_ALL=tt_TT ${test_program_prefix} \
 ${common_objpfx}localedata/tst-trans > ${common_objpfx}localedata/tst-trans.out
 
 exit $?
diff --git a/malloc/Makefile b/malloc/Makefile
index e54df3e..05f9b15 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -109,7 +109,7 @@ ifeq (yes,$(build-shared))
 ifneq ($(PERL),no)
 tests: $(objpfx)tst-mtrace.out
 $(objpfx)tst-mtrace.out: tst-mtrace.sh $(objpfx)tst-mtrace
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 endif
 endif
 endif
diff --git a/malloc/tst-mtrace.sh b/malloc/tst-mtrace.sh
index ac39161..a86ecf0 100755
--- a/malloc/tst-mtrace.sh
+++ b/malloc/tst-mtrace.sh
@@ -20,14 +20,14 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 
 status=0
 trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15
 
 MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} \
+${test_program_prefix} \
   ${common_objpfx}malloc/tst-mtrace || status=1
 
 if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then
diff --git a/manual/install.texi b/manual/install.texi
index 1b54051..e36fb05 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -155,6 +155,11 @@ if the used tools support it.  By using @samp{--without-tls} this can be
 prevented though there generally is no reason since it creates
 compatibility problems.
 
+@item --enable-hardcoded-path-in-tests
+By default, dynamic tests are linked to run with the installed C library.
+This option hardcodes the newly built C library path in dynamic tests
+so that they can be invoked directly.
+
 @item --build=@var{build-system}
 @itemx --host=@var{host-system}
 These options are for cross-compiling.  If you specify both options and
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index f4cd57a..33152e2 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,16 @@
+2013-01-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile (tst-cancel7-ARGS: Replace $(host-built-program-cmd)
+	with $(host-test-program-cmd).
+	(tst-exec4-ARGS): Likewise.
+	(tst-stackguard1-ARGS): Likewise.
+	($(objpfx)tst-tls6.out): Don't pass $(elf-objpfx) to tst-tls6.sh.
+	Replace $(rtld-installed-name) with $(test-via-rtld-prefix).
+	* tst-tls6.sh (elf_objpfx): Removed.
+	(rtld_installed_name): Renamed to ...
+	(test_via_rtld_prefix): This.
+	(tst_tls5): Prepend ${test_via_rtld_prefix}.
+
 2013-01-02  Joseph Myers  <joseph@codesourcery.com>
 
 	* All files with FSF copyright notices: Update copyright dates
@@ -10,9 +23,9 @@
 
 2012-12-28  Andi Kleen  <ak@linux.intel.com>
 
-        * pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Convert
+	* pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock): Convert
 	to prototype.
-        * pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock):
+	* pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock):
 	Likewise.
 
 2012-12-27  David S. Miller  <davem@davemloft.net>
diff --git a/nptl/Makefile b/nptl/Makefile
index 7568ae0..6af4b37 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -437,7 +437,7 @@ CFLAGS-tst-initializers1-c99.c = $(CFLAGS-tst-initializers1-<)
 CFLAGS-tst-initializers1-gnu89.c = $(CFLAGS-tst-initializers1-<)
 CFLAGS-tst-initializers1-gnu99.c = $(CFLAGS-tst-initializers1-<)
 
-tst-cancel7-ARGS = --command "exec $(host-built-program-cmd)"
+tst-cancel7-ARGS = --command "exec $(host-test-program-cmd)"
 tst-cancelx7-ARGS = $(tst-cancel7-ARGS)
 tst-umask1-ARGS = $(objpfx)tst-umask1.temp
 
@@ -477,8 +477,8 @@ $(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \
 		       $(objpfx)tst-tls5moda.so $(objpfx)tst-tls5modb.so \
 		       $(objpfx)tst-tls5modc.so $(objpfx)tst-tls5modd.so \
 		       $(objpfx)tst-tls5mode.so $(objpfx)tst-tls5modf.so
-	$(BASH) $< $(common-objpfx) $(elf-objpfx) \
-		    $(rtld-installed-name) '$(test-wrapper-env)'
+	$(BASH) $< $(common-objpfx) '$(test-via-rtld-prefix)' \
+	  '$(test-wrapper-env)'
 endif
 
 $(objpfx)tst-dlsym1: $(libdl) $(shared-thread-library)
@@ -580,7 +580,7 @@ $(objpfx)tst-cancel-wrappers.out: tst-cancel-wrappers.sh
 endif
 endif
 
-tst-exec4-ARGS = $(host-built-program-cmd)
+tst-exec4-ARGS = $(host-test-program-cmd)
 
 $(objpfx)tst-execstack: $(libdl)
 $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so
@@ -588,14 +588,14 @@ LDFLAGS-tst-execstack = -Wl,-z,noexecstack
 
 $(objpfx)tst-fini1mod.so: $(shared-thread-library)
 
-tst-stackguard1-ARGS = --command "$(host-built-program-cmd) --child"
+tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child"
 tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child"
 
 ifeq ($(run-built-tests),yes)
 tests: $(objpfx)tst-oddstacklimit.out
 
 $(objpfx)tst-oddstacklimit.out: $(objpfx)tst-oddstacklimit $(objpfx)tst-basic1
-	$(run-program-prefix) $< --command '$(host-built-program-cmd)' > $@
+	$(test-program-prefix) $< --command '$(host-test-program-cmd)' > $@
 endif
 
 # The tests here better do not run in parallel
diff --git a/nptl/tst-tls6.sh b/nptl/tst-tls6.sh
index d5513a5..fb23512 100755
--- a/nptl/tst-tls6.sh
+++ b/nptl/tst-tls6.sh
@@ -20,15 +20,13 @@
 set -e
 
 common_objpfx=$1; shift
-elf_objpfx=$1; shift
-rtld_installed_name=$1; shift
+test_via_rtld_prefix=$1; shift
 test_wrapper_env=$1; shift
 logfile=$common_objpfx/nptl/tst-tls6.out
 
 # We have to find libc and nptl
 library_path=${common_objpfx}:${common_objpfx}nptl
-tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
-	  ${common_objpfx}/nptl/tst-tls5"
+tst_tls5="${test_via_rtld_prefix} ${common_objpfx}/nptl/tst-tls5"
 
 LC_ALL=C
 export LC_ALL
diff --git a/posix/Makefile b/posix/Makefile
index fda6e13..57672d8 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -119,10 +119,10 @@ ifeq ($(run-built-tests),yes)
 ifeq (yes,$(build-shared))
 tests: $(objpfx)globtest.out $(objpfx)wordexp-tst.out
 $(objpfx)globtest.out: globtest.sh $(objpfx)globtest
-	$(SHELL) $< $(common-objpfx) '$(run-via-rtld-prefix)' \
-		'$(test-wrapper)' '$(test-wrapper-env)'
+	$(SHELL) $< $(common-objpfx) '$(test-via-rtld-prefix)' \
+		'$(test-program-prefix)' '$(test-wrapper-env)'
 $(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 endif
 endif
 
@@ -173,9 +173,9 @@ CFLAGS-execlp.os = -fomit-frame-pointer
 tstgetopt-ARGS = -a -b -cfoobar --required foobar --optional=bazbug \
 		--none random --col --color --colour
 
-tst-exec-ARGS = -- $(host-built-program-cmd)
+tst-exec-ARGS = -- $(host-test-program-cmd)
 tst-exec-static-ARGS = $(tst-exec-ARGS)
-tst-spawn-ARGS = -- $(host-built-program-cmd)
+tst-spawn-ARGS = -- $(host-test-program-cmd)
 tst-spawn-static-ARGS = $(tst-spawn-ARGS)
 tst-dir-ARGS = `pwd` `cd $(common-objdir)/$(subdir); pwd` `cd $(common-objdir); pwd` $(objpfx)tst-dir
 tst-chmod-ARGS = $(objdir)
@@ -268,7 +268,7 @@ $(objpfx)tst-vfork3-mem: $(objpfx)tst-vfork3.out
 # time to process.
 $(objpfx)tst-rxspencer-mem: $(objpfx)tst-rxspencer.out
 	MALLOC_TRACE=$(objpfx)tst-rxspencer.mtrace $(tst-rxspencer-ENV) \
-	  $(run-program-prefix) $(objpfx)tst-rxspencer rxspencer/tests \
+	  $(test-program-prefix) $(objpfx)tst-rxspencer rxspencer/tests \
 	  > /dev/null
 	$(common-objpfx)malloc/mtrace $(objpfx)tst-rxspencer.mtrace > $@
 
diff --git a/posix/globtest.sh b/posix/globtest.sh
index 24a1641..6f3eadd 100755
--- a/posix/globtest.sh
+++ b/posix/globtest.sh
@@ -20,10 +20,9 @@
 set -e
 
 common_objpfx=$1; shift
-run_via_rtld_prefix=$1; shift
-test_wrapper=$1; shift
+test_via_rtld_prefix=$1; shift
+test_program_prefix=$1; shift
 test_wrapper_env=$1; shift
-run_program_prefix="${test_wrapper} ${run_via_rtld_prefix}"
 logfile=$common_objpfx/posix/globtest.out
 
 #CMP=cmp
@@ -78,7 +77,7 @@ rm -f $logfile
 
 # Normal test
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -105,7 +104,7 @@ fi
 
 # Don't let glob sort it
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -s "$testdir" "*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -132,7 +131,7 @@ fi
 
 # Mark directories
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -m "$testdir" "*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -159,7 +158,7 @@ fi
 
 # Find files starting with .
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -p "$testdir" "*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -189,7 +188,7 @@ fi
 
 # Test braces
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" "file{1,2}" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -202,7 +201,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" "{file{1,2},-file3}" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -216,7 +215,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" "{" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -229,7 +228,7 @@ fi
 
 # Test NOCHECK
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -c "$testdir" "abc" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -242,7 +241,7 @@ fi
 
 # Test NOMAGIC without magic characters
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -g "$testdir" "abc" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -255,7 +254,7 @@ fi
 
 # Test NOMAGIC with magic characters
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -g "$testdir" "abc*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -268,7 +267,7 @@ fi
 
 # Test NOMAGIC for subdirs
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -g "$testdir" "*/does-not-exist" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -281,7 +280,7 @@ fi
 
 # Test subdirs correctly
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -297,7 +296,7 @@ fi
 
 # Test subdirs for invalid names
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/1" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -310,7 +309,7 @@ fi
 
 # Test subdirs with wildcard
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/*1_1" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -324,7 +323,7 @@ fi
 
 # Test subdirs with ?
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/*?_?" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -339,7 +338,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/file1_1" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -352,7 +351,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*-/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -364,7 +363,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*-" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -377,7 +376,7 @@ fi
 
 # Test subdirs with ?
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/*?_?" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -393,7 +392,7 @@ fi
 
 # Test subdirs with [ .. ]
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "*/file1_[12]" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -409,7 +408,7 @@ fi
 
 # Test ']' inside bracket expression
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "dir1/file1_[]12]" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -423,7 +422,7 @@ fi
 
 # Test tilde expansion
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -q -t "$testdir" "~" |
 sort >$testout
 echo ~ | $CMP - $testout >> $logfile || failed=1
@@ -438,7 +437,7 @@ fi
 
 # Test tilde expansion with trailing slash
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -q -t "$testdir" "~/" |
 sort > $testout
 # Some shell incorrectly(?) convert ~/ into // if ~ expands to /.
@@ -458,7 +457,7 @@ fi
 
 # Test tilde expansion with username
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -q -t "$testdir" "~"$USER |
 sort > $testout
 eval echo ~$USER | $CMP - $testout >> $logfile || failed=1
@@ -473,7 +472,7 @@ fi
 
 # Tilde expansion shouldn't match a file
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -T "$testdir" "~file4" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -486,7 +485,7 @@ fi
 
 # Matching \** should only find *file6
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "\**" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -500,7 +499,7 @@ fi
 # ... unless NOESCAPE is used, in which case it should entries with a
 # leading \.
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -e "$testdir" "\**" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -515,7 +514,7 @@ fi
 
 # Matching \*file6 should find *file6
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "\*file6" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -528,7 +527,7 @@ fi
 
 # GLOB_BRACE alone
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" '\{file7\,\}' |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -541,7 +540,7 @@ fi
 
 # GLOB_BRACE and GLOB_NOESCAPE
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b -e "$testdir" '\{file9\,file9b\}' |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -554,7 +553,7 @@ fi
 
 # Escaped comma
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" '{filea\,}' |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -567,7 +566,7 @@ fi
 
 # Escaped closing brace
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -b "$testdir" '{fileb\}c}' |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -580,7 +579,7 @@ fi
 
 # Try a recursive failed search
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -e "$testdir" "a*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -593,7 +592,7 @@ fi
 
 # ... with GLOB_ERR
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -E "$testdir" "a*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -606,7 +605,7 @@ fi
 
 # Try a recursive search in unreadable directory
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "noread/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -618,7 +617,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "noread*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -636,14 +635,14 @@ if test -z "$user"; then
 fi
 if test "$user" != root; then
     # ... with GLOB_ERR
-    ${run_program_prefix} \
+    ${test_program_prefix} \
     ${common_objpfx}posix/globtest -E "$testdir" "noread/*" |
     sort > $testout
     cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
 GLOB_ABORTED
 EOF
 
-    ${run_program_prefix} \
+    ${test_program_prefix} \
     ${common_objpfx}posix/globtest -E "$testdir" "noread*/*" |
     sort > $testout
     cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -657,7 +656,7 @@ fi # not run as root
 
 # Try multiple patterns (GLOB_APPEND)
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest "$testdir" "file1" "*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -674,7 +673,7 @@ fi
 
 # Try multiple patterns (GLOB_APPEND) with offset (GLOB_DOOFFS)
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -o "$testdir" "file1" "*/*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -692,7 +691,7 @@ fi
 
 # Test NOCHECK with non-existing file in subdir.
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -c "$testdir" "*/blahblah" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -705,7 +704,7 @@ fi
 
 # Test [[:punct:]] not matching leading period.
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -c "$testdir" "[[:punct:]]*" |
 sort > $testout
 cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
@@ -734,10 +733,10 @@ mkdir $testdir/dir6
 echo 6 > $testdir/dir6/'file1[a'
 echo 7 > $testdir/dir6/'file1[ab]'
 failed=0
-v=`${run_program_prefix} \
+v=`${test_program_prefix} \
    ${common_objpfx}posix/globtest "$testdir" 'dir3\*/file2'`
 test "$v" != 'GLOB_NOMATCH' && echo "$v" >> $logfile && failed=1
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/globtest -c "$testdir" \
 'dir3\*/file1' 'dir3\*/file2' 'dir1/file\1_1' 'dir1/file\1_9' \
 'dir2\/' 'nondir\/' 'dir4[a/fil*1' 'di*r4[a/file2' 'dir5[ab]/file[12]' \
@@ -763,7 +762,7 @@ cat <<"EOF" | $CMP - $testout >> $logfile || failed=1
 EOF
 ${test_wrapper_env} \
 HOME="$testdir" \
-${run_via_rtld_prefix} \
+${test_via_rtld_prefix} \
 ${common_objpfx}posix/globtest -ct "$testdir" \
 '~/dir1/file1_1' '~/dir1/file1_9' '~/dir3\*/file1' '~/dir3\*/file2' \
 '~\/dir1/file1_2' |
@@ -778,15 +777,15 @@ EOF
 if eval test -d ~"$USER"/; then
   user=`echo "$USER" | sed -n -e 's/^\([^\\]\)\([^\\][^\\]*\)$/~\1\\\\\2/p'`
   if test -n "$user"; then
-    ${run_program_prefix} \
+    ${test_program_prefix} \
     ${common_objpfx}posix/globtest -ctq "$testdir" "$user/" |
     sort > $testout
     eval echo ~$USER/ | $CMP - $testout >> $logfile || failed=1
-    ${run_program_prefix} \
+    ${test_program_prefix} \
     ${common_objpfx}posix/globtest -ctq "$testdir" "$user\\/" |
     sort > $testout
     eval echo ~$USER/ | $CMP - $testout >> $logfile || failed=1
-    ${run_program_prefix} \
+    ${test_program_prefix} \
     ${common_objpfx}posix/globtest -ctq "$testdir" "$user" |
     sort > $testout
     eval echo ~$USER | $CMP - $testout >> $logfile || failed=1
diff --git a/posix/wordexp-tst.sh b/posix/wordexp-tst.sh
index 93b5077..5dff727 100755
--- a/posix/wordexp-tst.sh
+++ b/posix/wordexp-tst.sh
@@ -24,7 +24,7 @@ set -e
 # The others are just there to be parameters.
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 logfile=${common_objpfx}posix/wordexp-tst.out
 testout=${common_objpfx}posix/wordexp-test-result
 
@@ -38,7 +38,7 @@ IFS=" 	\
 export IFS
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '$*' > ${testout}1
 cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1
 wordexp returned 0
@@ -50,7 +50,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '${*}' unquoted > ${testout}2
 cat <<"EOF" | cmp - ${testout}2 >> $logfile || failed=1
 wordexp returned 0
@@ -63,7 +63,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '$@' unquoted > ${testout}3
 cat <<"EOF" | cmp - ${testout}3 >> $logfile || failed=1
 wordexp returned 0
@@ -76,7 +76,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '"$* quoted"' param > ${testout}4
 cat <<"EOF" | cmp - ${testout}4 >> $logfile || failed=1
 wordexp returned 0
@@ -88,7 +88,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '"$@ quoted"' param > ${testout}5
 cat <<"EOF" | cmp - ${testout}5 >> $logfile || failed=1
 wordexp returned 0
@@ -102,7 +102,7 @@ fi
 # Why?  Because bash does it that way..
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '$#' 2 3 4 5 > ${testout}6
 cat <<"EOF" | cmp - ${testout}6 >> $logfile || failed=1
 wordexp returned 0
@@ -114,7 +114,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '$2 ${3} $4' 2nd 3rd "4 th" > ${testout}7
 cat <<"EOF" | cmp - ${testout}7 >> $logfile || failed=1
 wordexp returned 0
@@ -129,7 +129,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '${11}' 2 3 4 5 6 7 8 9 10 11 > ${testout}8
 cat <<"EOF" | cmp - ${testout}8 >> $logfile || failed=1
 wordexp returned 0
@@ -141,7 +141,7 @@ if test $failed -ne 0; then
 fi
 
 failed=0
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '"a $@ b"' c d > ${testout}9
 cat <<"EOF" | cmp - ${testout}9 >> $logfile || failed=1
 wordexp returned 0
@@ -154,7 +154,7 @@ if test $failed -ne 0; then
   status=1
 fi
 
-${run_program_prefix} \
+${test_program_prefix} \
 ${common_objpfx}posix/wordexp-test '${#@} ${#2} *$**' two 3 4 > ${testout}10
 cat <<"EOF" | cmp - ${testout}10 || failed=1
 wordexp returned 0
diff --git a/rt/Makefile b/rt/Makefile
index e723fdb..6a98c81 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -80,4 +80,4 @@ ifeq (yes,$(build-bounded))
 $(tests:%=$(objpfx)%-bp): $(objpfx)librt_b.a $(bounded-thread-library)
 endif
 
-tst-mqueue7-ARGS = -- $(host-built-program-cmd)
+tst-mqueue7-ARGS = -- $(host-test-program-cmd)
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index a0377df..f64a8ba 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -69,11 +69,11 @@ tests: do-tst-unbputc do-tst-printf
 
 do-tst-unbputc: $(objpfx)tst-unbputc.out
 $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 
 do-tst-printf: $(objpfx)tst-printf.out
 $(objpfx)tst-printf.out: tst-printf.sh $(objpfx)tst-printf
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
 endif
 
 CFLAGS-vfprintf.c = -Wno-uninitialized
@@ -127,7 +127,7 @@ tst-grouping-ENV = LOCPATH=$(common-objpfx)localedata
 CPPFLAGS += $(libio-mtsafe)
 
 $(objpfx)tst-setvbuf1.out: tst-setvbuf1.expect $(objpfx)tst-setvbuf1
-	$(built-program-cmd) > $@ 2>&1
+	$(test-program-cmd) > $@ 2>&1
 	cmp tst-setvbuf1.expect $@
 
 ifeq ($(build-shared),yes)
diff --git a/stdio-common/tst-printf.sh b/stdio-common/tst-printf.sh
index 6986c58..81e1e24 100644
--- a/stdio-common/tst-printf.sh
+++ b/stdio-common/tst-printf.sh
@@ -20,12 +20,12 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 
 status=0
 
 LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \
-${run_program_prefix} \
+${test_program_prefix} \
   ${common_objpfx}stdio-common/tst-printf \
   > ${common_objpfx}stdio-common/tst-printf.out || status=1
 
diff --git a/stdio-common/tst-unbputc.sh b/stdio-common/tst-unbputc.sh
index 07da54e..3ce8696 100755
--- a/stdio-common/tst-unbputc.sh
+++ b/stdio-common/tst-unbputc.sh
@@ -20,11 +20,11 @@
 set -e
 
 common_objpfx=$1; shift
-run_program_prefix=$1; shift
+test_program_prefix=$1; shift
 
 status=0
 
-${run_program_prefix} \
+${test_program_prefix} \
   ${common_objpfx}stdio-common/tst-unbputc \
     2> ${common_objpfx}stdio-common/tst-unbputc.out || status=1
 
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 68ffd88..4bfd4b9 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -136,7 +136,7 @@ $(objpfx)isomac: isomac.c
 	$(native-compile)
 
 $(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)stdlib/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)stdlib/
 
 $(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
 LDFLAGS-tst-putenv = $(no-as-needed)
diff --git a/stdlib/tst-fmtmsg.sh b/stdlib/tst-fmtmsg.sh
index 5227015..963c522 100755
--- a/stdlib/tst-fmtmsg.sh
+++ b/stdlib/tst-fmtmsg.sh
@@ -20,10 +20,10 @@
 set -e
 
 common_objpfx=$1
-run_program_prefix=$2
+test_program_prefix=$2
 objpfx=$3
 
-test="${run_program_prefix} ${objpfx}tst-fmtmsg"
+test="${test_program_prefix} ${objpfx}tst-fmtmsg"
 out=${objpfx}tst-fmtmsg.out
 
 LC_ALL=C
diff --git a/string/Makefile b/string/Makefile
index 83d3af8..44bbd0c 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -82,6 +82,6 @@ ifeq ($(run-built-tests),yes)
 tests: $(objpfx)tst-svc.out
 $(objpfx)tst-svc.out: tst-svc.input $(objpfx)tst-svc
 	GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
-	  $(built-program-cmd) < $(word 1,$^) > $@
+	  $(test-program-cmd) < $(word 1,$^) > $@
 	@cmp tst-svc.expect $(objpfx)tst-svc.out
 endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |  126 +++++++++++++++++++++++++++++++++++++++++++
 Makeconfig                  |   83 +++++++++++++++++++++++-----
 Makefile                    |    2 +-
 Makerules                   |    8 ++--
 Rules                       |   23 ++++++--
 catgets/Makefile            |    2 +-
 catgets/test-gencat.sh      |    4 +-
 config.make.in              |    1 +
 configure                   |   14 +++++
 configure.in                |    7 +++
 elf/Makefile                |   32 ++++-------
 grp/Makefile                |    2 +-
 grp/tst_fgetgrent.sh        |   10 ++--
 iconvdata/Makefile          |    2 +-
 iconvdata/tst-table.sh      |    6 +-
 iconvdata/tst-tables.sh     |    4 +-
 intl/Makefile               |   10 ++--
 intl/tst-gettext.sh         |    4 +-
 intl/tst-gettext2.sh        |    4 +-
 intl/tst-gettext4.sh        |    4 +-
 intl/tst-gettext6.sh        |    4 +-
 intl/tst-translit.sh        |    4 +-
 io/Makefile                 |    2 +-
 libio/Makefile              |    2 +-
 libio/test-freopen.sh       |    4 +-
 localedata/ChangeLog        |   27 +++++++++
 localedata/Makefile         |   21 ++++----
 localedata/sort-test.sh     |    6 +-
 localedata/tst-fmon.sh      |    5 +-
 localedata/tst-mbswcs.sh    |   12 ++--
 localedata/tst-numeric.sh   |    4 +-
 localedata/tst-trans.sh     |    3 +-
 malloc/Makefile             |    2 +-
 malloc/tst-mtrace.sh        |    4 +-
 manual/install.texi         |    5 ++
 nptl/ChangeLog              |   17 +++++-
 nptl/Makefile               |   12 ++--
 nptl/tst-tls6.sh            |    6 +--
 posix/Makefile              |   12 ++--
 posix/globtest.sh           |  101 +++++++++++++++++-----------------
 posix/wordexp-tst.sh        |   22 ++++----
 rt/Makefile                 |    2 +-
 stdio-common/Makefile       |    6 +-
 stdio-common/tst-printf.sh  |    4 +-
 stdio-common/tst-unbputc.sh |    4 +-
 stdlib/Makefile             |    2 +-
 stdlib/tst-fmtmsg.sh        |    4 +-
 string/Makefile             |    2 +-
 48 files changed, 449 insertions(+), 198 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]