libgo patch committed: Don't copy semt into runtime.inc

Ian Lance Taylor iant@golang.org
Fri Jul 14 22:25:00 GMT 2017


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
-------------- next part --------------
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


More information about the Gcc-patches mailing list