[Bug go/98170] New: Cannot build libgo on AIX: *.gox does not contain any Go export data

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 7 10:50:53 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98170

            Bug ID: 98170
           Summary: Cannot build libgo on AIX: *.gox does not contain any
                    Go export data
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
          Assignee: ian at airs dot com
          Reporter: ro at gcc dot gnu.org
                CC: clement.chigot at atos dot net, cmang at google dot com
  Target Milestone: ---
              Host: powerpc-ibm-aix7.2.4.0
            Target: powerpc-ibm-aix7.2.4.0
             Build: powerpc-ibm-aix7.2.4.0

I've recently tried to build master on AIX 7.2 with --enable-languages=all. 
Among
others, this failed building libgo, all following the same pattern:

/home/ro/gcc/src/gcc-master/libgo/go/runtime/internal/math/math.go:7:28: error:
./runtime/internal/sys.gox exists but does not contain any Go export data
    7 | import "runtime/internal/sys"
      |                            ^

All those *.gox files were just 48 bytes long, even with binutils 2.35.1
objcopy.

It turns out this is a known issue, explained in
https://www.gitmemory.com/issue/golang/go/38043/603687042.

There are several issues here:

* The version of copycsect referenced there (based on binutils 2.25.1) doesn't
  compile with current binutils 2.35.1 any longer (bfd_get_section_size has
lost
  its bfd * arg since).
* Once this is fixed, the build mostly works (with the exception of the
recently
  reported stab issue
https://gcc.gnu.org/pipermail/gcc-patches/2020-December/560857.html)
* Unless this functionality can be integrated into binutils, requiring a full
  binutils just for this seems pretty heavy-handed.  I suspect that can way
  easier be done using libiberty's simple-object interfaces.
* Whatever the case, until libgo builds out of the box on AIX, the issue should
  at the very least be documented (install.texi?) and/or the libgo build
disabled
  so others don't waste time investigating known issues.


More information about the Gcc-bugs mailing list