Paul Lucas via Gcc-help kirjoitti 14.6.2022 klo 19.18:
Hi there -
I want to build a cross-compiler from Linux x86_64 (host) to AIX PowerPC (target). Eventually, while building gcc, I get:
collect2: fatal error: libgcc.a: cannot open as COFF file
While Linux uses ELF and AIX uses coff, I would have assumed that the binutils I built for the cross-compiler would have produced a linker that was able to link COFF files.
The configure for binutils was:
configure --disable-gold --prefix=/aix-powerpc --disable-multilib --disable-nls --target=powerpc-ibm-aix7.1.0.0 --with-sysroot=/aix-powerpc --with-arch=powerpc --disable-werror --enable-plugins
where /aix-powerpc contains headers and libraries copied from a live AIX system.
The GNU Install documents for target platforms :
https://gcc.gnu.org/install/specific.html#x-ibm-aix
are saying :
"The native |as| and |ld| are recommended for bootstrapping on AIX. The
GNU Assembler, GNU Linker, and GNU Binutils version 2.20 is the minimum
level that supports bootstrap on AIX 5. The GNU Assembler has not been
updated to support AIX 6 or AIX 7. The native AIX tools do interoperate
with GCC."
So it seems that AIX 6 and AIX 7 aren't supported in GNU binutils :(
The biggest problem in this issue probaly is that so few people can get
the "headers and libraries copied from a live AIX system". Or IBM or
something would provide them freely
for everyone wanting to make crosscompilers for AIX. Those who have AIX
systems just produce native GNU tools and are happy. Others aren't
interested to work with cross
tools they cannot make...
For instance the Sun Solaris2 headers and libraries have beem freely
available just like the whole Sparc/x86 operating systems. So anyone
could have procuded crosstools for these
platforms if having the required know-how for building GNU tools.