summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.cc10
2 files changed, 15 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index faebf37301d..a2c4a1dd0b9 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 40189fbf5d4..b649e9ba7d7 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.
OpenPOWER on IntegriCloud