g ccgo, AIX: скомпилированные файлы .o не содержат раздела .go_export - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь собрать g ccgo (9.2) в AIX и столкнулся с проблемой, которую не могу решить.

Машина: AIX 7.1, Тип процессора: PowerPC_POWER7, Тип процессора : 64-разрядный, тип ядра: 64-разрядный

Ошибка: «./sync/atomic.gox существует, но не содержит Go данных экспорта».

Итак, я посмотрел на atomi c .gox, и он пуст. (Все файлы .gox пусты). Итак, затем я посмотрел, как создается atomi c .gox. Файл создан objcopy -j .go_export sync/.libs/atomic.o. Таким образом, раздел .go_export для atomi c .o используется для создания atomi c .gox. С objdump -s atomic.o я понял, что у atomi c .o нет никакого раздела .go_export, только ".text, .data и .debug". Поэтому при создании файла .o обнаруживается неправильное поведение. Для создания файла atomi c .o я нашел следующую строку:

libtool: compile: / OS / COMPSRV / trunk / user1 / src / g ccgo - obj / ./ gcc / gccgo -B / OS / COMPSRV / trunk / user1 / src / g ccgo -obj / ./ gcc / -B / opt / freeware / gcc9 / powerp c -ibm- aix7.1.5.0 / bin / -B / opt / freeware / gcc9 / powerp c -ibm-aix7.1.5.0 / lib / -isystem / opt / freeware / gcc9 / powerp c -ibm-aix7. 1.5.0 / include -isystem /opt/freeware/gcc9/powerpc-ibm-aix7.1.5.0/sys-include -O2 -g -I. - c -f go -pkgpath = sync / atomi c ../.././../gccgo-src/libgo/go/sync/atomic/doc. go ../.././../gccgo-src/libgo/go/sync/atomic/value.go -fPI C -o синхронизация / .libs /atomic.o

Это мой параметр конфигурации:

languages ​​= "- enable-languages ​​= go, c, c ++"

options = "CC = / opt / freeware / bin / g cc --with-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-stati c"

Дополнительная информация: я использую g cc 8,3

Редактировать:

Предлагаемые решения:

  • Я добавил --enable-l ib go, но ошибка все еще существует

1 Ответ

0 голосов
/ 18 марта 2020

одна вещь, которая выглядит подозрительной, это то, что вы, похоже, не передаете --enable-lib go для настройки. Может, попробуем посмотреть, поможет ли это?

...