#58 add support for the x32 ABI

developer
open-accepted
5
2012-07-16
2012-07-16
Olivier Huber
No

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

Discussion

  • Olivier Huber
    Olivier Huber
    2012-07-16

    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

     
    • assigned_to: nobody --> rwhaley
    • milestone: 148063 -->
    • labels: 360155 -->
     
  • 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

     
    • milestone: --> developer
    • labels: --> functionality extension
    • status: open --> open-accepted