aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2016-10-03 18:39:54 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2016-10-03 18:39:54 +0000
commit95ccd17c610e928f1b8089192d89456dd0dc891f (patch)
tree0c76240dd904927dcaadeb0e937ac447ab5d453d
parent606dda21c8bcd4c2574e5b28f8125f01e38955c6 (diff)
downloadgcc-95ccd17c610e928f1b8089192d89456dd0dc891f.zip
gcc-95ccd17c610e928f1b8089192d89456dd0dc891f.tar.gz
gcc-95ccd17c610e928f1b8089192d89456dd0dc891f.tar.bz2
re PR go/77809 ("_LITTLE_ENDIAN" redefined)
PR go/77809 libgo: strip most C macros from runtime.inc The Go runtime package is picking up C macros from runtime_sysinfo.go and then re-exporting them to runtime.inc. This can cause name conflicts. Change the Makefile so that we only put the macros we need into runtime.inc. These are the constants that are actually defined by Go code, not runtime_sysinfo.go. There are only a few, so we can pattern match. This is an additional hack on runtime.inc. The long term goal is to convert the runtime package to Go and eliminate runtime.inc entirely, so a few hacks seem acceptable. Fixes GCC PR 77809. Reviewed-on: https://go-review.googlesource.com/30167 From-SVN: r240724
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/Makefile.am9
-rw-r--r--libgo/Makefile.in9
3 files changed, 15 insertions, 5 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 092baa2..1bd4552 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-f3fb9bf2d5a009a707962a416fcd1a8435756218
+325f8074c5224ae537f8e00aede5c780b70f914c
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index e515069..a0566c1 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -1284,8 +1284,13 @@ runtime_go_lo_GOCFLAGS = -fgo-c-header=runtime.inc.tmp -fgo-compiling-runtime
runtime-go.lo:
$(BUILDPACKAGE)
runtime.inc: s-runtime-inc; @true
-s-runtime-inc: runtime-go.lo
- $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp runtime.inc
+s-runtime-inc: runtime-go.lo Makefile
+ rm -f runtime.inc.tmp2
+ grep -v "#define _" runtime.inc.tmp > runtime.inc.tmp2
+ for pattern in '_G[a-z]' '_P[a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \
+ grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \
+ done
+ $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp2 runtime.inc
$(STAMP) $@
runtime_check_GOCFLAGS = -fgo-compiling-runtime
runtime/check: $(CHECK_DEPS)
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index bc6832d..7a133f1 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -3886,8 +3886,13 @@ runtime-go.lo.dep: $(srcdir)/go/runtime/*.go $(extra_go_files_runtime)
runtime-go.lo:
$(BUILDPACKAGE)
runtime.inc: s-runtime-inc; @true
-s-runtime-inc: runtime-go.lo
- $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp runtime.inc
+s-runtime-inc: runtime-go.lo Makefile
+ rm -f runtime.inc.tmp2
+ grep -v "#define _" runtime.inc.tmp > runtime.inc.tmp2
+ for pattern in '_G[a-z]' '_P[a-z]' _Max _Lock _Sig _Trace _MHeap _Num; do \
+ grep "#define $$pattern" runtime.inc.tmp >> runtime.inc.tmp2; \
+ done
+ $(SHELL) $(srcdir)/mvifdiff.sh runtime.inc.tmp2 runtime.inc
$(STAMP) $@
runtime/check: $(CHECK_DEPS)
@$(CHECK)