http://gcc.gnu.org/bugzilla/show_bug.cgi?id=378
--- Comment #12 from Doug Dawson <Doug at CSFi dot com> --- (In reply to David Edelsohn from comment #11) > Recent releases of GCC are built with linker options to allow larger data > section. Are the user process limits (ulimit) set large enough? One could > rebuild GCC cc1 and cc1plus with even larger -bmaxdata value (or patch the > binary with a larger value), but it's not clear which limit is hit. Current ulimit values: core file size (blocks, -c) 1048575 data seg size (kbytes, -d) 262144 file size (blocks, -f) 2097151 max memory size (kbytes, -m) 32768 open files (-n) 2000 pipe size (512 bytes, -p) 64 stack size (kbytes, -s) 131072 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited I changed the ulimits below, but had the same results. Note that this source compiles as 32 Bit on AIX 5.3 using 'gcc version 4.2.4'. ulimit -d 393216 ulimit -m 65536 ulimit -s 262144 ulimit -n 4000 /tmp//ccZ4WBed.s: line 2939315: 1252-171 The displacement must be greater than or equal to -32768 and less than or equal to 32767. When you say rebuild GCC cc1/cc1plus with even larger -bmaxdata, are you refering to the AIX environmental 'export LDR_CNTRL=MAXDATA=0x50000000'? Is this the recommended value?