David Edelsohn <dje....@gmail.com> added the comment:

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.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue41540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to