cgo working on linux/386
R=r
DELTA=70 (47 added, 4 deleted, 19 changed)
OCL=35167
CL=35171
diff --git a/src/Make.pkg b/src/Make.pkg
index fadd78e..bc00eea 100644
--- a/src/Make.pkg
+++ b/src/Make.pkg
@@ -93,18 +93,21 @@
%.cgo3.$O: %.cgo3.c
$(CC) $(CFLAGS) $(RUNTIME_CFLAGS) $*.cgo3.c
+# Have to run gcc with the right size argument on hybrid 32/64 machines.
+_CGO_CFLAGS_386=-m32
+_CGO_CFLAGS_amd64=-m64
+
# Compile x.cgo4.c with gcc to make package_x.so.
%.cgo4.o: %.cgo4.c
- gcc -fPIC -O2 -o $@ -c $(CGO_CFLAGS) $*.cgo4.c
+ gcc $(_CGO_CFLAGS_$(GOARCH)) -fPIC -O2 -o $@ -c $(CGO_CFLAGS) $*.cgo4.c
$(elem)_%.so: %.cgo4.o
- gcc -shared -o $@ $*.cgo4.o $(CGO_LDFLAGS)
+ gcc $(_CGO_CFLAGS_$(GOARCH)) -shared -o $@ $*.cgo4.o $(CGO_LDFLAGS)
$(pkgdir)/$(dir)/$(elem)_%.so: $(elem)_%.so
@test -d $(GOROOT)/pkg && mkdir -p $(pkgdir)/$(dir)
cp $(elem)_$*.so $@
-
# Generic build rules.
# These come last so that the rules above can override them
# for more specific file names.