diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index faebf37301dcfc3d6a170876975bc4f4a9df9f8f..a2c4a1dd0b94e634cc3e69f8b7e9768c0830d6d8 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 40189fbf5d4bc340fcff9fbf63caa1225534539c..b649e9ba7d7e9b2e3725ea0f294891672b4234cc 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.