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.16-ports-merge-521-g0bf57f8


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  0bf57f872cb14db88ca8860e9f5b295e38394f16 (commit)
      from  8175a2532bd19cca1592f9c7f598302c5ae3770a (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=0bf57f872cb14db88ca8860e9f5b295e38394f16

commit 0bf57f872cb14db88ca8860e9f5b295e38394f16
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Oct 24 17:13:24 2012 +0000

    Don't set resource limits in tst-oddstacklimit-ENV.

diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 2743631..5a3ab06 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,15 @@
+2012-10-24  Joseph Myers  <joseph@codesourcery.com>
+
+	* Makefile (tests): Remove tst-oddstacklimit.
+	(test-srcs): New variable.
+	(tst-oddstacklimit-ENV): Remove.
+	[$(run-built-tests) = yes] (tests): Depend on
+	$(objpfx)tst-oddstacklimit.out.
+	[$(run-built-tests) = yes] ($(objpfx)tst-oddstacklimit.out): New
+	target.
+	* tst-oddstacklimit.c: Do not include "tst-basic1.c".  Use
+	setrlimit before executing tst-basic1 test passed to --command.
+
 2012-10-23  Joseph Myers  <joseph@codesourcery.com>
 
 	* Makefile [$(cross-compiling) = no]: Change condition to
diff --git a/nptl/Makefile b/nptl/Makefile
index 02db930..21a8766 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -257,20 +257,16 @@ tests = tst-typesizes \
 	tst-context1 \
 	tst-sched1 \
 	tst-backtrace1 \
-	tst-oddstacklimit \
 	tst-abstime \
 	tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \
 	tst-getpid1 tst-getpid2 tst-getpid3 \
 	tst-initializers1 $(patsubst %,tst-initializers1-%,c89 gnu89 c99 gnu99)
 xtests = tst-setuid1 tst-setuid1-static tst-mutexpp1 tst-mutexpp6 tst-mutexpp10
+test-srcs = tst-oddstacklimit
 
 # Files which must not be linked with libpthread.
 tests-nolibpthread = tst-unload
 
-# This sets the stack resource limit to 1023kb, which is not a multiple
-# of the page size since every architecture's page size is > 1k.
-tst-oddstacklimit-ENV = ; ulimit -s 1023;
-
 gen-as-const-headers = pthread-errnos.sym
 
 LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
@@ -606,6 +602,13 @@ $(objpfx)tst-fini1mod.so: $(shared-thread-library)
 tst-stackguard1-ARGS = --command "$(host-built-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)' > $@
+endif
+
 # The tests here better do not run in parallel
 ifneq ($(filter %tests,$(MAKECMDGOALS)),)
 .NOTPARALLEL:
diff --git a/nptl/tst-oddstacklimit.c b/nptl/tst-oddstacklimit.c
index 9fbef18..be25948 100644
--- a/nptl/tst-oddstacklimit.c
+++ b/nptl/tst-oddstacklimit.c
@@ -1 +1,72 @@
-#include "tst-basic1.c"
+/* Test NPTL with stack limit that is not a multiple of the page size.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+
+/* This sets the stack resource limit to 1023kb, which is not a multiple
+   of the page size since every architecture's page size is > 1k.  */
+#ifndef ODD_STACK_LIMIT
+# define ODD_STACK_LIMIT (1023 * 1024)
+#endif
+
+static const char *command;
+
+static int
+do_test (void)
+{
+  int ret;
+  struct rlimit rlim;
+
+  ret = getrlimit (RLIMIT_STACK, &rlim);
+  if (ret != 0)
+    {
+      printf ("getrlimit failed: %s\n", strerror (errno));
+      return 1;
+    }
+  rlim.rlim_cur = ODD_STACK_LIMIT;
+  ret = setrlimit (RLIMIT_STACK, &rlim);
+  if (ret != 0)
+    {
+      printf ("setrlimit failed: %s\n", strerror (errno));
+      return 1;
+    }
+  ret = system (command);
+  if (ret == -1)
+    {
+      printf ("system failed: %s\n", strerror (errno));
+      return 1;
+    }
+  if (WIFEXITED (ret))
+    return WEXITSTATUS (ret);
+  else
+    return 1;
+}
+
+#define OPT_COMMAND	10000
+#define CMDLINE_OPTIONS	\
+  { "command", required_argument, NULL, OPT_COMMAND },
+#define CMDLINE_PROCESS	\
+  case OPT_COMMAND:	\
+    command = optarg;	\
+    break;
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index 53ed276..2bfd5d4 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,3 +1,8 @@
+2012-10-24  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/hppa/nptl/Makefile (tst-oddstacklimit-ENV): Remove.
+	* sysdeps/hppa/nptl/tst-oddstacklimit.c: New file.
+
 2012-10-10  Carlos O'Donell  <carlos@systemhalted.org>
 
 	* sysdeps/unix/sysv/linux/hppa/nptl/pthread.h: Update.
diff --git a/ports/sysdeps/hppa/nptl/Makefile b/ports/sysdeps/hppa/nptl/Makefile
index 86be06a..bc09dd1 100644
--- a/ports/sysdeps/hppa/nptl/Makefile
+++ b/ports/sysdeps/hppa/nptl/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005-2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
 # The GNU C Library is free software; you can redistribute it and/or
@@ -18,9 +18,3 @@
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
-
-# This sets the stack resource limit to 8193kb, which is not a multiple
-# of the page size, and therefore an odd sized stack limit. We override
-# this because the default is too small to run with. 
-tst-oddstacklimit-ENV = ; ulimit -s 8193;
-
diff --git a/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c b/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c
new file mode 100644
index 0000000..6fcc9e3
--- /dev/null
+++ b/ports/sysdeps/hppa/nptl/tst-oddstacklimit.c
@@ -0,0 +1,26 @@
+/* Test NPTL with stack limit that is not a multiple of the page size.
+   HPPA version.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This sets the stack resource limit to 8193kb, which is not a multiple
+   of the page size, and therefore an odd sized stack limit.  We override
+   this because the default is too small to run with.  */
+
+#define ODD_STACK_LIMIT (8193 * 1024)
+
+#include <sysdeps/../nptl/tst-oddstacklimit.c>

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

Summary of changes:
 nptl/ChangeLog                                     |   12 +++
 nptl/Makefile                                      |   13 ++--
 nptl/tst-oddstacklimit.c                           |   73 +++++++++++++++++++-
 ports/ChangeLog.hppa                               |    5 ++
 ports/sysdeps/hppa/nptl/Makefile                   |    8 +--
 .../nptl/tst-oddstacklimit.c}                      |   23 ++----
 6 files changed, 105 insertions(+), 29 deletions(-)
 copy ports/sysdeps/{powerpc/nofpu/get-rounding-mode.h => hppa/nptl/tst-oddstacklimit.c} (67%)


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]