Message375464
AIX uses a "late" memory allocation scheme by default. If the test wants to malloc(52631578947368422ULL) and intends it to fail, it should run with the AIX
$ export PSALLOC=early
environment variable. More than all of the other maxdata changes.
Separate from all of this, you are configuring as 64 bit (-q64). -qmaxmem affects the compiler optimization.
-Wl,-bmaxdata:0x800000000 is a GCC command line option. "-Wl," passes the appended flag to the linker. So somehow you're using GCC to invoke the linker, although building with XLC. XLC knows about -bmaxdata directly.
On the other hand, -bmaxdata behaves differently in 32 bit mode and 64 bit mode. In 32 bit mode, it increases the heap size from the default 256MB. In 64 bit mode, it sets a guaranteed maximum size for the heap.
So I think that -bmaxdata may be helping, but not for the reason that you believe. -Wl,-bmaxdata:0x80000000 may work, although I don't understand how that correctly interacts with XLC. If you truly are running in 64 bit mode, then -bmaxdata has an effect like PSALLOC.
I sort of think that the solution desired for the testcase is PSALLOC=early to match traditional Unix/Linux malloc() behavior. |
|
Date |
User |
Action |
Args |
2020-08-15 13:49:26 | David.Edelsohn | set | recipients:
+ David.Edelsohn, skrah, sanket, T.Rex |
2020-08-15 13:49:26 | David.Edelsohn | set | messageid: <1597499366.89.0.467212799484.issue41540@roundup.psfhosted.org> |
2020-08-15 13:49:26 | David.Edelsohn | link | issue41540 messages |
2020-08-15 13:49:26 | David.Edelsohn | create | |
|