This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[PATCH] Fix PR68838
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 29 Nov 2016 12:47:49 -0500
- Subject: [PATCH] Fix PR68838
- Authentication-results: sourceware.org; auth=none
Separate from ulimit, 32 bit AIX processes have the concept of memory
segments. By default, AIX devotes one 256MB segment to the data
section of an executable. Some libstdc++ testcases allocate more than
that amount of memory. Instead of individually fixing tests, this
patch always adds the AIX linker option to allocate two segments for
data, fixing a number of wchar testcases.
PR libstdc++/68838
* testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on AIX.
* testsuite/23_containers/vector/profile/vector.cc: Remove
dg-additional-options.
Index: libstdc++.exp
===================================================================
--- libstdc++.exp (revision 242964)
+++ libstdc++.exp (working copy)
@@ -136,6 +136,9 @@
if { [string match "powerpc-*-darwin*" $target_triplet] } {
append DEFAULT_CXXFLAGS " -multiply_defined suppress"
}
+ if { [string match "powerpc-ibm-aix*" $target_triplet] }
+ append DEFAULT_CXXFLAGS " -Wl,-bmaxdata:0x20000000"
+ }
}
v3track DEFAULT_CXXFLAGS 2
Index: 23_containers/vector/profile/vector.cc
===================================================================
--- 23_containers/vector/profile/vector.cc (revision 242964)
+++ 23_containers/vector/profile/vector.cc (working copy)
@@ -2,8 +2,6 @@
// Advice: set tmp as 10000
// { dg-options "-DITERATIONS=20" { target simulator } }
-// AIX requires higher memory limit
-// { dg-additional-options "-Wl,-bmaxdata:0x20000000" { target {
powerpc-ibm-aix* } } }
#ifndef ITERATIONS
#define ITERATIONS 2000