PR 81449 reports a libgo problem with the definition semt in runtime.inc on some systems. Since the C code in libgo/runtime doesn't need semt, just don't copy it into runtime.inc. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 250216) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -a77b1091fa83cfaf200e6dad26e92e42483bae43 +2ae6bf76f97f7d4c63a1f0ad0683b9ba62baaf06 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/Makefile.am =================================================================== --- libgo/Makefile.am (revision 249799) +++ libgo/Makefile.am (working copy) @@ -543,6 +543,8 @@ s-sigtab: $(srcdir)/mksigtab.sh gen-sysi # _Complex_lock and _Reader_lock are Go translations of some AIX system # types and should not be exported back to C +# semt is a Go translation of the C type sem_t; it fails to convert on +# some systems and need not be exported back to C. # sigset conflicts with system type sigset on AIX, so we need to rename it runtime.inc: s-runtime-inc; @true s-runtime-inc: runtime.lo Makefile @@ -551,7 +553,7 @@ s-runtime-inc: runtime.lo Makefile for pattern in '_[GP][a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \ grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \ done - for TYPE in _Complex_lock _Reader_lock; do \ + for TYPE in _Complex_lock _Reader_lock semt; do \ sed -e '/struct '$${TYPE}' {/,/^}/s/^.*$$//' runtime.inc.tmp2 > runtime.inc.tmp3; \ mv runtime.inc.tmp3 runtime.inc.tmp2; \ done