gccgo,AIX:编译的.o文件不包含.go_export节

问题描述 投票:1回答:1

我正在尝试在AIX上构建gccgo(9.2),现在面临着我无法解决的问题。

[机器:AIX 7.1,处理器类型:PowerPC_POWER7,CPU类型:64位,内核类型:64位

错误:“ ./ sync / atomic.gox存在,但不包含任何Go导出数据”。

所以我查看了atomic.gox,它是空的。 (所有.gox文件均为空)。因此,接下来我看如何创建atomic.gox。该文件由objcopy -j .go_export sync/.libs/atomic.o创建。因此,atomic.o的.go_export部分用于创建atomic.gox。通过objdump -s atomic.o我发现,atomic.o没有任何.go_export节,只有“ .text,.data和.debug”。因此,错误的行为是在创建.o文件时发现的。为了创建atomic.o文件,我找到了以下行:

libtool:编译:/ OS / COMPSRV / trunk / user1 / src / gccgo-obj /./ gcc / gccgo-B / OS / COMPSRV / trunk / user1 / src / gccgo-obj /./ gcc / -B / opt / freeware / gcc9 / powerpc-ibm-aix7.1.5.0 / bin / -B / opt / freeware / gcc9 /powerpc-ibm-aix7.1.5.0/lib/ -isystem /opt/freeware/gcc9/powerpc-ibm-aix7.1.5.0/include -isystem/opt/freeware/gcc9/powerpc-ibm-aix7.1.5.0/sys-include -O2 -g -I。 -C-fgo-pkgpath = sync / atomic ../.././../gccgo-src/libgo/go/sync/atomic/doc.go../.././../gccgo-src/libgo/go/sync/atomic/value.go -fPIC -osync / .libs / atomic.o

这些是我的配置参数:

languages =“-enable-languages = go,c,c ++”

options =“ CC = / opt / freeware / bin / gcc --without-gnu-ar --without-gnu-as--with-gnu-ld --with-gmp-include = / usr / include / gmp --disable-bootstrap --with-gmp-lib = / usr / lib --with-mpfr-include = / usr / include / mpfr --with-mpfr-lib = / usr / lib --with-mpfr = / usr / include --with-mpc = / usr / include --disable-nls --disable-libquadmath --disable-libssp- -disable-lto --disable-libgomp“

multilib =“-enable-multilib”

shared =“-enable-shared”

static =“-enable-static”

更多信息:我正在使用gcc 8.3

编辑:

建议的解决方案:

  • 我添加了--enable-libgo,但错误仍然存​​在
go gcc aix powerpc gccgo
1个回答
0
投票

看起来可疑的一件事是您似乎没有通过--enable-libgo进行配置。也许尝试一下是否有帮助?

© www.soinside.com 2019 - 2024. All rights reserved.