SJU*_*SJU 5 aix gcc cross-compiling
我正在尝试将GCC构建为AIX的交叉编译器。主机和构建平台是Linux x86_64,目标是powerpc-aix5.2.0。我设法将Binutils 2.20.1和GCC 4.4.7与本机AIX 6.1标头(来自/ usr / include)和libs(仅/usr/lib/{crt0.o,crt0_64.o,libc.a ,libc_r.a,libpthreads.a})。然后,gcc正确地将简单的C代码(例如“ Hello,world!”)交叉构建为独立的可执行文件,但它拒绝交叉构建共享对象:
collect2:在对象<交叉编译的libgcc_s.a的路径中找到的init函数>
我尝试使用更新至2.26的Binutils版本,结果相同。
然后我发现以下评论:
Binutils已更新为支持AIX 4.3.3,但尚未针对AIX 5进行维护,改进或更新。它可以做简单的事情,但不完全支持更高级的功能。例如,共享对象创建的某些方面不完整。
因此,我尝试使用target = powerpc-aix4.3.0重新构建上述工具链(这次的唯一区别是,我使用--disable-multilib配置了GCC 以避免出现错误“无法识别的操作码:'fmsub'”)。我同时尝试了Binutils 2.20.1和Binutils 2.26,但仍然在对象libgcc_s.a中发现错误初始化函数。
现在,我想知道是否存在针对其进行交叉编译的AIX版本。由GCC和Binutils支持。
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |