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.21-157-g9162c01


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  9162c01d09c327ae2e7c3a5148307e8018792c51 (commit)
      from  209826bcf2e5d1634adf5672e265eec5e5c07e83 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9162c01d09c327ae2e7c3a5148307e8018792c51

commit 9162c01d09c327ae2e7c3a5148307e8018792c51
Author: Roland McGrath <roland@hack.frob.com>
Date:   Thu Mar 5 12:58:49 2015 -0800

    Avoid re-exec-self in bug-setlocale1.

diff --git a/ChangeLog b/ChangeLog
index 2a2c866..b9cf458 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-05  Roland McGrath  <roland@hack.frob.com>
+
+	* Makeconfig (test-wrapper-env-only): New variable.
+	* Rules (make-test-out): If variable $*-ENV-only is nonempty,
+	then use that with $(test-wrapper-env-only) rather than using
+	$(test-wrapper-env) $(run-program-env) $($*-ENV).
+
 2015-03-05  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18082]
diff --git a/Makeconfig b/Makeconfig
index 509b5bd..4e336a4 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -611,6 +611,11 @@ endif
 ifndef test-wrapper-env
 test-wrapper-env = $(test-wrapper) env
 endif
+# Likewise, but the program's environment will be empty except for any
+# explicit <variable>=<value> assignments preceding the program name.
+ifndef test-wrapper-env-only
+test-wrapper-env-only = $(test-wrapper) env -i
+endif
 
 # Whether to run test programs built for the library's host system.
 ifndef run-built-tests
diff --git a/Rules b/Rules
index cb4e1fb..829beac 100644
--- a/Rules
+++ b/Rules
@@ -186,9 +186,11 @@ ifneq "$(strip $(tests) $(xtests) $(test-srcs))" ""
 # These are the implicit rules for making test outputs
 # from the test programs and whatever input files are present.
 
-make-test-out = $(test-wrapper-env) \
-		$(run-program-env) \
-		$($*-ENV) $(host-test-program-cmd) $($*-ARGS)
+define make-test-out
+$(if $($*-ENV-only),$(test-wrapper-env-only) $($*-ENV-only),\
+     $(test-wrapper-env) $(run-program-env) $($*-ENV)) \
+$(host-test-program-cmd) $($*-ARGS)
+endef
 $(objpfx)%.out: %.input $(objpfx)%
 	$(make-test-out) > $@ < $(word 1,$^); \
 	$(evaluate-test)
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index ceb373f..61857f5 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,14 @@
+2015-03-04  Roland McGrath  <roland@hack.frob.com>
+
+	* bug-setlocale1.c (do_test): Remove argument handling and
+	self-exec'ing logic.  Just expect to be run with the right
+	variables (and nothing else) directly in the environment instead.
+	(TEST_FUNCTION): Don't pass arguments to do_test.
+	* Makefile (bug-setlocale1-ARGS, bug-setlocale1-static-ARGS):
+	Variables removed.
+	(bug-setlocale1-ENV-only, bug-setlocale1-static-ENV-only):
+	New variables.
+
 2015-02-23  Alexandre Oliva <aoliva@redhat.com>
 
 	* unicode-gen/ctype_compatibility.py: Use date ranges in
diff --git a/localedata/Makefile b/localedata/Makefile
index d1218f5..0f67725 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -237,8 +237,8 @@ $(objpfx)mtrace-tst-leaks.out: $(objpfx)tst-leaks.out
 	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@; \
 	$(evaluate-test)
 
-bug-setlocale1-ARGS = -- $(host-test-program-cmd)
-bug-setlocale1-static-ARGS = $(bug-setlocale1-ARGS)
+bug-setlocale1-ENV-only = LOCPATH=$(objpfx) LC_CTYPE=de_DE.UTF-8
+bug-setlocale1-static-ENV-only = $(bug-setlocale1-ENV-only)
 
 $(objdir)/iconvdata/gconv-modules:
 	$(MAKE) -C ../iconvdata subdir=iconvdata $@
diff --git a/localedata/bug-setlocale1.c b/localedata/bug-setlocale1.c
index dc7f6f3..546ea7b 100644
--- a/localedata/bug-setlocale1.c
+++ b/localedata/bug-setlocale1.c
@@ -7,44 +7,8 @@
 
 
 static int
-do_test (int argc, char *argv[])
+do_test (void)
 {
-  if (argc > 1)
-    {
-      char *newargv[5];
-      int i;
-      if (argc != 2 && argc != 5)
-	{
-	  printf ("wrong number of arguments (%d)\n", argc);
-	  return 1;
-	}
-
-      for (i = 0; i < (argc == 5 ? 4 : 1); i++)
-	newargv[i] = argv[i + 1];
-      newargv[i] = NULL;
-
-      char *env[3];
-      env[0] = (char *) "LC_CTYPE=de_DE.UTF-8";
-      char *loc = getenv ("LOCPATH");
-      if (loc == NULL || loc[0] == '\0')
-	{
-	  puts ("LOCPATH not set");
-	  return 1;
-	}
-      asprintf (&env[1], "LOCPATH=%s", loc);
-      if (env[1] == NULL)
-	{
-	  puts ("asprintf failed");
-	  return 1;
-	}
-      env[2] = NULL;
-
-      execve (newargv[0], newargv, env);
-
-      puts ("execve returned");
-      return 1;
-    }
-
   int result = 0;
 
   char *a = setlocale (LC_ALL, "");
@@ -128,5 +92,5 @@ do_test (int argc, char *argv[])
   return result;
 }
 
-#define TEST_FUNCTION do_test (argc, argv)
+#define TEST_FUNCTION do_test ()
 #include "../test-skeleton.c"

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

Summary of changes:
 ChangeLog                   |    7 +++++++
 Makeconfig                  |    5 +++++
 Rules                       |    8 +++++---
 localedata/ChangeLog        |   11 +++++++++++
 localedata/Makefile         |    4 ++--
 localedata/bug-setlocale1.c |   40 ++--------------------------------------
 6 files changed, 32 insertions(+), 43 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]