From 0f40b49cb3a63c5613651021282eceab1650d6be Mon Sep 17 00:00:00 2001
From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 8 Dec 2006 10:06:51 +0000
Subject: [PATCH] 	* testsuite/util/testsuite_hooks.cc
 (set_memory_limits): Don't set 	RLIMIT_AS below 16MB on x86_64-linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119652 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libstdc++-v3/ChangeLog                         |  5 +++++
 libstdc++-v3/testsuite/util/testsuite_hooks.cc | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index faebf37301dc..a2c4a1dd0b94 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
+	RLIMIT_AS below 16MB on x86_64-linux.
+
 2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>
 
 	* include/Makefile.am (std_headers_rename): Remove.
diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.cc b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
index 40189fbf5d4b..b649e9ba7d7e 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
@@ -89,6 +89,16 @@ namespace __gnu_test
 #endif
 
     // Virtual memory.
+    // On x86_64-linux, the default is -z max-page-size=0x200000
+    // which means up to 2MB of address space are accounted for
+    // PROT_NONE mappings between text and data segments of
+    // each shared library.  There are 4 shared libs involved
+    // in addition to the dynamic linker.  Use at least 16MB address space
+    // limit.
+#if defined(__x86_64__) && defined(__linux__)
+    if (limit < 16777216)
+      limit = 16777216;
+#endif
     // On HP-UX 11.23, a trivial C++ program that sets RLIMIT_AS to
     // anything less than 128MB cannot "malloc" even 1K of memory.
     // Therefore, we skip RLIMIT_AS on HP-UX.
-- 
GitLab