IBM POWER6/AIX6 current state?

Richard Sandiford
Sun Jan 24 13:51:00 GMT 2010

Franz Fehringer <> writes:
> Thanks, i think i will give it a try as soon as gcc 4.5 is released.
> In the meantime i would like to ask you for some additional background
> information:
> Last time i went this route it was with gcc 4.4.0 and some binutils 2.20
> prerelease (it could have been a post 2.19 snapshot from the trunk as well).
> The gcc build came to a grinding halt, when in stage 2 the gcc compiler
> built in stage 1 advised gas to generate POWER6 machine instructions
> (the flag was -pwr6 i think) and gas choked because id did not
> understand this command line parameter (IIRC only up to -pwr2 was
> possible then, but i am not 100% sure about this anymore).

Ah.  As I mentioned, I've only tested a cross toolchain, and this is
something that would only show up natively.  It appears the GCC AIX
port and native assembler use -pwr{4,5,6} whereas the GCC GNU/Linux
port and GAS use -mpower{4,5,6}.  So while the support is there,
it's under the wrong name as far as AIX is concerned.  The same
problem applies to the ".machine" pseudo-op.

I'll try to add pwrX synonyms for powerX, but I can't promise when.
(The patch itself should be simple.  It's finding time to test it
properly that's the issue.)

GCC 4.4 doesn't support binutils on AIX.  As you said in your follow-up,
pre-2.20 versions of binutils could not create shared libraries on at
least AIX 5 and above, so libtool always behaved as if --disable-shared
had been passed.  Pre-2.20 binutils also didn't support AIX weak symbols,
which stopped many things from working properly.

These problems should have been fixed in binutils 2.20.  The libtool
in GCC 4.5 therefore allows shared libraries to be created with
binutils 2.20 and above.


More information about the Binutils mailing list