add support for the x32 ABI
Brought to you by:
rwhaley,
tonyc040457
The x32 ABI is a new linux ABI which aims at bringin the best from the 32 and 64 worlds. More informations can be found on the following websites:
https://sites.google.com/site/x32abi/
http://linuxplumbersconf.org/2011/ocw/sessions/531
With the attached patch, atlas builds fine and no problem have been encountered so far (however I didn't test it extensively)
The atlas build system passes unconditionally either -m32 or -m64 as flag to the toolchain. With x32, the correct flag is -mx32
So the proposed patch add a new possible value (48, for sure not ideal) for the '-b' switch. In this case, it passes the correct flag.
The number 48 may not be the best choice, but
patch proposal
The last sentence should be:
The number 48 may not be the best choice, but I had to pick an integer to make this work.
Sorry for the noise
OK, looks like even the x86-64 assembly will work unchanged. I have applied your patch, but I used -32 instead of 48 :)
I'll have to ask you to confirm that it works, since none of my self-installed gcc4.7.0 work for that. It seems to be a problem with my binutils install, I get:
~/local/gcc4.7.0/bin/gcc -mx32 -o xh hello.c
hello.c: In function ‘main’:
hello.c:3:4: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
as: unrecognized option '--x32'
So, I'll ask you to confirm working when I push out 3.11.0.
Thanks!
Clint