Hello, I'm using GCC 4.3.2 (debian provided) on IA64 machine and I'm starting to be hit by while building GHC (Haskell compiler) HEAD:
/usr/bin/ld: XXXX: short data segment overflowed (0x434a58 >= 0x400000) /usr/bin/ld: can't relax section: No such file or directory linker messages. In the past (with previous GHC releases) it used -G0 to workaround this issue, but it looks like this does not work anymore. I've also verified that current gcc 4.3.2 (debian), gcc 4.4.4 and gcc 4.5.3 (both gentoo's) are not passing test described in the original bug report back in 2001 here: https://bugzilla.redhat.com/show_bug.cgi?id=33354 The bugreports' test result is: kgar...@babe:/tmp$ ./genstring kgar...@babe:/tmp$ gcc -G0 -c main.c f*.c kgar...@babe:/tmp$ gcc -G0 -o main main.o f*.o /usr/bin/ld: main: short data segment overflowed (0x400080 >= 0x400000) /usr/bin/ld: can't relax section: File format not recognized collect2: ld returned 1 exit status kgar...@babe:/tmp$ BTW: This is on GCC Compile Farm IA64 machine. Now my question is: how to solve this issue? Does GCC already support something Intel discusses in 2008 here: http://software.intel.com/en-us/articles/short-data-segment-overflow-error-on-linux-64-on-itaniumr-architecture/ -- i.e. using huge memory model for static data? If so, what is the proper way of using it? I.e. what command-line option should I use? Thanks a lot, Karel