]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: separate out auto-generated files, take 2
authorRuss Cox <rsc@golang.org>
Mon, 19 Dec 2011 20:51:13 +0000 (15:51 -0500)
committerRuss Cox <rsc@golang.org>
Mon, 19 Dec 2011 20:51:13 +0000 (15:51 -0500)
This is like the ill-fated CL 5493063 except that
I have written a shell script (autogen.sh) instead of
thinking I could possibly write a correct Makefile.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5496075

39 files changed:
src/Make.pkg
src/cmd/Makefile
src/make.bash
src/pkg/runtime/Makefile
src/pkg/runtime/asm_386.s
src/pkg/runtime/asm_amd64.s
src/pkg/runtime/asm_arm.s
src/pkg/runtime/autogen.sh [new file with mode: 0755]
src/pkg/runtime/defs1_linux.go
src/pkg/runtime/defs2_linux.go
src/pkg/runtime/defs_arm_linux.go
src/pkg/runtime/defs_darwin.go
src/pkg/runtime/defs_freebsd.go
src/pkg/runtime/defs_linux.go
src/pkg/runtime/defs_netbsd.go
src/pkg/runtime/defs_openbsd.go
src/pkg/runtime/defs_windows.go
src/pkg/runtime/goc2c.c
src/pkg/runtime/lock_futex.c
src/pkg/runtime/lock_sema.c
src/pkg/runtime/mkasmh.sh
src/pkg/runtime/mkgodefs.sh
src/pkg/runtime/mkversion.c
src/pkg/runtime/rt0_windows_amd64.s
src/pkg/runtime/signal_darwin_amd64.c
src/pkg/runtime/sys_darwin_386.s
src/pkg/runtime/sys_darwin_amd64.s
src/pkg/runtime/sys_freebsd_386.s
src/pkg/runtime/sys_freebsd_amd64.s
src/pkg/runtime/sys_linux_386.s
src/pkg/runtime/sys_linux_amd64.s
src/pkg/runtime/sys_linux_arm.s
src/pkg/runtime/sys_netbsd_386.s
src/pkg/runtime/sys_netbsd_amd64.s
src/pkg/runtime/sys_openbsd_386.s
src/pkg/runtime/sys_openbsd_amd64.s
src/pkg/runtime/sys_plan9_386.s
src/pkg/runtime/sys_windows_386.s
src/pkg/runtime/sys_windows_amd64.s

index c6c47ffd0a41039100569acf4b3de0c53001eeec..91562af92ab8cd4b2a18d9bb64ab87a549183aef 100644 (file)
@@ -246,4 +246,4 @@ endif
        $(CC) $(CFLAGS) -I . -o "$@" _obj/$*.c
 
 %.$O: %.s $(HFILES)
-       $(AS) $*.s
+       $(AS) $(AFLAGS) $*.s
index 0b83e48312e0e715302711985220e3ee3f69e0c2..c2f817a916a9b9f58665434dd26cc4341644e0ff 100644 (file)
@@ -8,9 +8,12 @@ all: install
 
 # Only build tools for current architecture, and only tools written in C.
 # The tools written in Go are managed by ../pkg/Makefile.
+# We need all the C compilers for rebuilding generated files in runtime.
 DIRS=\
        $(O)a\
-       $(O)c\
+       5c\
+       6c\
+       8c\
        $(O)g\
        $(O)l\
        cc\
@@ -55,7 +58,7 @@ nuke: $(patsubst %,%.nuke,$(CLEANDIRS))
        @echo
        $(MAKE) -C $* install
 
-gc.install $(O)c.install: cc.install
+gc.install 5c.install 6c.install 8c.install: cc.install
 $(O)g.install: gc.install
 $(O)a.install $(O)c.install $(O)g.install: $(O)l.install
 
index 3580d2a0bdeef5e35164cd454a48ac655e79d1e8..83c1db4f481f49aa0690858c2ca9dee30ed613c1 100755 (executable)
@@ -78,12 +78,18 @@ done
 bash "$GOROOT"/src/clean.bash
 
 # pkg builds libcgo and the Go programs in cmd.
-for i in lib9 libbio libmach cmd pkg
+for i in lib9 libbio libmach cmd
 do
        echo; echo; echo %%%% making $i %%%%; echo
        gomake -C $i install
 done
 
+echo; echo; echo %%%% making runtime generated files %%%%; echo
+(cd "$GOROOT"/src/pkg/runtime; ./autogen.sh) || exit 1
+
+echo; echo; echo %%%% making pkg %%%%; echo
+gomake -C pkg install
+
 # Print post-install messages.
 # Implemented as a function so that all.bash can repeat the output
 # after run.bash finishes running all the tests.
index 9025d0e63cbe9fc60053a56e97fc803ffa51b50d..7bd648dc3eedd9b285c6b45e6296de169bce8656 100644 (file)
@@ -4,9 +4,6 @@
 
 include ../../Make.inc
 
-# Go tool will do this for package runtime.
-CFLAGS+=-DGOOS_$(GOOS) -DGOARCH_$(GOARCH)
-
 TARG=runtime
 
 GOFILES=\
@@ -14,15 +11,13 @@ GOFILES=\
        error.go\
        extern.go\
        mem.go\
-       runtime_defs.go\
        sig.go\
        softfloat64.go\
        type.go\
-       version.go\
-       version_$(GOOS).go\
-       version_$(GOARCH).go\
-
-CLEANFILES+=version.go version_*.go
+       zgoarch_$(GOARCH).go\
+       zgoos_$(GOOS).go\
+       zruntime_defs_$(GOOS)_$(GOARCH).go\
+       zversion.go\
 
 OFILES_darwin=\
        lock_sema.$O\
@@ -45,7 +40,7 @@ OFILES_plan9=\
 OFILES_windows=\
        callback_windows_$(GOARCH).$O\
        lock_sema.$O\
-       syscall_windows.$O\
+       zsyscall_windows_$(GOARCH).$O\
 
 # 386-specific object files
 OFILES_386=\
@@ -66,6 +61,8 @@ OFILES_arm=\
        traceback_arm.$O\
 
 OFILES=\
+       $(OFILES_$(GOARCH))\
+       $(OFILES_$(GOOS))\
        alg.$O\
        asm_$(GOARCH).$O\
        atomic_$(GOARCH).$O\
@@ -77,7 +74,6 @@ OFILES=\
        float.$O\
        hashmap.$O\
        iface.$O\
-       malloc.$O\
        mcache.$O\
        mcentral.$O\
        mem_$(GOOS).$O\
@@ -86,31 +82,31 @@ OFILES=\
        mfixalloc.$O\
        mgc0.$O\
        mheap.$O\
-       mprof.$O\
        msize.$O\
        print.$O\
        proc.$O\
        rt0_$(GOOS)_$(GOARCH).$O\
        rune.$O\
        runtime.$O\
-       runtime1.$O\
-       sema.$O\
        signal_$(GOOS)_$(GOARCH).$O\
-       sigqueue.$O\
        slice.$O\
-       string.$O\
        symtab.$O\
        sys_$(GOOS)_$(GOARCH).$O\
        thread_$(GOOS).$O\
-       time.$O\
-       $(OFILES_$(GOARCH))\
-       $(OFILES_$(GOOS))\
+       zmalloc_$(GOARCH).$O\
+       zmprof_$(GOARCH).$O\
+       zruntime1_$(GOARCH).$O\
+       zsema_$(GOARCH).$O\
+       zsigqueue_$(GOARCH).$O\
+       zstring_$(GOARCH).$O\
+       ztime_$(GOARCH).$O\
 
 AUTOHFILES=\
        arch_GOARCH.h\
        os_GOOS.h\
        signals_GOOS.h\
        defs_GOOS_GOARCH.h\
+       zasm_GOOS_GOARCH.h\
 
 HFILES=\
        cgocall.h\
@@ -118,7 +114,6 @@ HFILES=\
        hashmap.h\
        malloc.h\
        stack.h\
-       asm_$(GOARCH).h\
        $(AUTOHFILES)\
 
 GOFILES+=$(GOFILES_$(GOOS))
@@ -126,6 +121,10 @@ GOFILES+=$(GOFILES_$(GOOS))
 # For use by cgo.
 INSTALLFILES=$(pkgdir)/runtime.h $(pkgdir)/cgocall.h
 
+# Go tool will do this for package runtime.
+AFLAGS+=-DGOOS_$(GOOS) -DGOARCH_$(GOARCH)
+CFLAGS+=-DGOOS_$(GOOS) -DGOARCH_$(GOARCH)
+
 # special, out of the way compiler flag that means "add runtime metadata to output"
 GC+= -+
 
@@ -138,44 +137,7 @@ $(pkgdir)/%.h: %.h
 clean: clean-local
 
 clean-local:
-       rm -f goc2c mkversion version.go runtime.acid.* runtime_defs.go $$(ls *.goc | sed 's/goc$$/c/') $(AUTOHFILES)
-
-asm_$(GOARCH).h: mkasmh.sh runtime.acid.$(GOARCH)
-       ./mkasmh.sh >$@.x
-       mv -f $@.x $@
-
-goc2c: goc2c.c
-       quietgcc -o $@ -I "$(GOROOT)/include" $< "$(GOROOT)/lib/lib9.a"
-
-mkversion: mkversion.c
-       quietgcc -o $@ -I "$(GOROOT)/include" $< "$(GOROOT)/lib/lib9.a"
-
-version.go: mkversion
-       GOROOT="$(GOROOT_FINAL)" ./mkversion >version.go
-
-version_$(GOARCH).go:
-       (echo 'package runtime'; echo 'const theGoarch = "$(GOARCH)"') >$@
-
-version_$(GOOS).go:
-       (echo 'package runtime'; echo 'const theGoos = "$(GOOS)"') >$@
-
-%.c:   %.goc goc2c
-       ./goc2c "`pwd`/$<" > $@.tmp
-       mv -f $@.tmp $@
-
-# for discovering offsets inside structs when debugging
-runtime.acid.$(GOARCH): runtime.h proc.c $(AUTOHFILES)
-       $(CC) $(CFLAGS) -a proc.c >$@
-
-# 386 traceback is really amd64 traceback
-ifeq ($(GOARCH),386)
-traceback.$O:  amd64/traceback.c
-       $(CC) $(CFLAGS) $<
-endif
-
-runtime_defs.go: proc.c iface.c hashmap.c chan.c $(HFILES)
-       CC="$(CC)" CFLAGS="$(CFLAGS)" ./mkgodefs.sh proc.c iface.c hashmap.c chan.c > $@.x
-       mv -f $@.x $@
+       rm -f $(AUTOHFILES)
 
 arch_GOARCH.h: arch_$(GOARCH).h
        cp $^ $@
@@ -188,3 +150,6 @@ os_GOOS.h: os_$(GOOS).h
 
 signals_GOOS.h: signals_$(GOOS).h
        cp $^ $@
+
+zasm_GOOS_GOARCH.h: zasm_$(GOOS)_$(GOARCH).h
+       cp $^ $@
index c39f365d5959f104c1f1ad299ad10de69d4e0e07..52400637be97941289594c60f0457b15344f804f 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT _rt0_386(SB),7,$0
        // Linux, Windows start the FPU in extended double precision.
index d91421e9e364829c27fcccd352b06f8fc28614fd..9053334993a1b09b64a2bce5bcaa204e6590f13a 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT _rt0_amd64(SB),7,$-8
        // copy arguments forward on an even stack
index 533c0744d7455a27a03ab81bd3bf3963007abf95..b36bbe30470819de933e42bfcd2cf370c02b0cca 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_arm.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // using frame size $-4 means do not save LR on stack.
 TEXT _rt0_arm(SB),7,$-4
diff --git a/src/pkg/runtime/autogen.sh b/src/pkg/runtime/autogen.sh
new file mode 100755 (executable)
index 0000000..23b3bfb
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/sh
+# Copyright 2011 The Go Authors.  All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# This script generates the various derived files involved in
+# building package runtime. 
+#
+#      autogen.sh rebuilds everything
+#      autogen.sh -clean deletes the generated files
+
+GOARCHES="
+       386
+       amd64
+       arm
+"
+
+GOOSES="
+       darwin
+       freebsd
+       linux
+       netbsd
+       openbsd
+       plan9
+       windows
+"
+
+GOOSARCHES="
+       darwin_386
+       darwin_amd64
+       freebsd_386
+       freebsd_amd64
+       linux_386
+       linux_amd64
+       linux_arm
+       netbsd_386
+       netbsd_amd64
+       openbsd_386
+       openbsd_amd64
+       plan9_386
+       windows_386
+       windows_amd64
+"
+
+HELPERS="goc2c mkversion"
+
+rm -f $HELPERS z*
+
+if [ "$1" = "-clean" ]; then
+       exit 0
+fi
+
+set -e
+
+if [ "$GOROOT" = "" ]; then
+       echo "$0"': $GOROOT must be set' >&2
+       exit 2
+fi
+
+# Use goc2c to translate .goc files into arch-specific .c files.
+quietgcc -o goc2c -I "$GOROOT/include" goc2c.c "$GOROOT/lib/lib9.a"
+for file in *.goc
+do
+       for arch in $GOARCHES
+       do
+               base=$(echo $file | sed 's/\.goc$//')
+               GOARCH=$arch ./goc2c $file >z.tmp
+               mv -f z.tmp z${base}_$arch.c
+       done
+done
+
+# Version constants.
+quietgcc -o mkversion -I "$GOROOT/include" mkversion.c "$GOROOT/lib/lib9.a"
+GOROOT="$GOROOT_FINAL" ./mkversion >z.tmp
+mv z.tmp zversion.go
+
+for arch in $GOARCHES
+do
+       (
+               echo '// AUTO-GENERATED by autogen.sh; DO NOT EDIT'
+               echo
+               echo 'package runtime'
+               echo
+               echo 'const theGoarch = "'$arch'"'
+       ) >zgoarch_$arch.go
+done
+
+for os in $GOOSES
+do
+       (
+               echo '// AUTO-GENERATED by autogen.sh; DO NOT EDIT'
+               echo
+               echo 'package runtime'
+               echo
+               echo 'const theGoos = "'$os'"'
+       ) >zgoos_$os.go
+done
+
+# Definitions of runtime structs, translated from C to Go.
+for osarch in $GOOSARCHES
+do
+       ./mkgodefs.sh $osarch proc.c iface.c hashmap.c chan.c >z.tmp
+       mv -f z.tmp zruntime_defs_$osarch.go
+done
+
+# Struct field offsets, for use by assembly files.
+for osarch in $GOOSARCHES
+do
+       ./mkasmh.sh $osarch proc.c defs.h >z.tmp
+       mv -f z.tmp zasm_$osarch.h
+done
+
+rm -f $HELPERS
index 6d84e84d768ea2c06556ce6bd6ddfc9044aafc8b..451817a67a3c89fc621731cd848febe50db78cf8 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo -cdefs
 
index 1fafb7bfc1cd7fe33c9361231fede4a48ee3adfd..9b07029556dda1df426e04bad9348d1f693c6fd2 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
  * Input to cgo -cdefs
 
index 35f74e8dbac9c7c5175efd852f6f339685e5e316..2063efb067d9e9e46e307ac1c12effdf8011add9 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 On a Debian Lenny arm linux distribution:
index 6cd988def2462c34a994eda0a731bcd37d676e22..3f3e41d86b1e70276a3371acb692671b927dc85c 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 
index ee80bb28558c31d015f86749612bbe22f7e2a290..306e32197e4309476b1a146b9ee1a47d349c35ff 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 
index bbaab2d33e74d32d898701ae77fef07d0e7cf2a0..c0275e1114a19dfa31ff695e35fc5e456c3340ea 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo -cdefs
 
index 4fb3a04634668f511ca937f7b5844baf7b76bed0..47c30cf101fdeb78ead6d39eb49c612c19c0b571 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 
index 4fb3a04634668f511ca937f7b5844baf7b76bed0..47c30cf101fdeb78ead6d39eb49c612c19c0b571 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 
index e23e4207de88b148ab8da1dc000c317b43a2cfbb..0d525b9322f5cb0997d0ce813a29ed384adade0d 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
 Input to cgo.
 
index fcac9c0600a7fe34eba11112b33229116b4c7e87..b59a69c5e2e31a0e407ff6f692d2138b38dfd175 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build ignore
+
 /*
  * Translate a .goc file into a .c file.  A .goc file is a combination
  * of a limited form of Go with C.
@@ -742,6 +744,7 @@ main(int argc, char **argv)
                }
        }
 
+       printf("// AUTO-GENERATED by autogen.sh; DO NOT EDIT\n\n");
        process_file();
        exits(0);
 }
index 375b7d7d7c83661d19fdef00c216be5b2a6a341a..c6b64ca6de7e8506826452251dca3802d0d163a2 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build freebsd linux
+
 #include "runtime.h"
 
 // This implementation depends on OS-specific implementations of
index 8875b17a245603b91f4935aa2dd6d0056bc36d45..ae229ec728cd6d85df330710c797aaf4e26c5bc5 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build darwin netbsd openbsd plan9 windows
+
 #include "runtime.h"
 
 // This implementation depends on OS-specific implementations of
index 920e79a0245b926df259ade61b778c37c37fda30..e50db87f409890a63f846dce8d2dcd14eb9494f6 100755 (executable)
@@ -5,9 +5,28 @@
 
 set -e
 
+SYS=$1
+export GOOS=$(echo $SYS | sed 's/_.*//')
+export GOARCH=$(echo $SYS | sed 's/.*_//')
+shift
+
+case "$GOARCH" in
+386) CC=8c;;
+amd64) CC=6c;;
+arm) CC=5c;;
+esac
+export CC
+
+export CFLAGS="-Dos_$GOOS -Darch_$GOARCH"
+
+cp arch_$GOARCH.h arch_GOARCH.h
+cp defs_${GOOS}_$GOARCH.h defs_GOOS_GOARCH.h
+cp os_$GOOS.h os_GOOS.h
+cp signals_$GOOS.h signals_GOOS.h
+
 cat <<'EOF'
 // Assembly constants.
-// AUTOMATICALLY GENERATED BY mkasmh.sh DURING BUILD
+// AUTO-GENERATED by autogen.sh; DO NOT EDIT
 
 EOF
 
@@ -91,6 +110,7 @@ arm)
 esac
 echo
 
+$CC $CFLAGS -a proc.c |
 awk '
 { gsub(/\r/, ""); }
 /^aggr G$/ { aggr="g" }
@@ -109,5 +129,6 @@ aggr != "" && /^    / {
        offset=$(NF-1);
        printf("#define %s_%s %s\n", aggr, name, offset);
 }
-' runtime.acid.$GOARCH
+'
 
+rm -f arch_GOARCH.h defs_GOOS_GOARCH.h os_GOOS.h signals_GOOS.h
index b6e97213e0ccd09279728762efa5163d33b3ac95..1f9feac4e127241d0d2b626786c0984dee7f92ce 100755 (executable)
@@ -5,10 +5,28 @@
 
 set -e
 
+SYS=$1
+export GOOS=$(echo $SYS | sed 's/_.*//')
+export GOARCH=$(echo $SYS | sed 's/.*_//')
+shift
+
+case "$GOARCH" in
+386) CC=8c;;
+amd64) CC=6c;;
+arm) CC=5c;;
+esac
+export CC
+
+export CFLAGS="-DGOOS_$GOOS -DGOARCH_$GOARCH"
+
+cp arch_$GOARCH.h arch_GOARCH.h
+cp defs_${GOOS}_$GOARCH.h defs_GOOS_GOARCH.h
+cp os_$GOOS.h os_GOOS.h
+cp signals_$GOOS.h signals_GOOS.h
+
 cat <<EOF
 // Go definitions for C variables and types.
-// AUTOMATICALLY GENERATED BY THE FOLLOWING COMMAND. DO NOT EDIT.
-// CC="$CC" CFLAGS="$CFLAGS" ./mkgodefs.sh $@
+// AUTO-GENERATED by autogen.sh; DO NOT EDIT
 
 package runtime
 import "unsafe"
@@ -37,3 +55,5 @@ skip {
 
 {print}
 '
+
+rm -f arch_GOARCH.h defs_GOOS_GOARCH.h os_GOOS.h signals_GOOS.h
index 0d96aa3569e0790aa5110ed4f6ab73de0eaf0389..94ad0d9e5f8b80e4f0ffb5fda502a51f7142c7cf 100644 (file)
@@ -1,8 +1,14 @@
+// Copyright 2009 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ignore
+
 #include <u.h>
 #include <libc.h>
 
 char *template =
-       "// generated by mkversion.c; do not edit.\n"
+       "// AUTO-GENERATED by autogen.sh; DO NOT EDIT\n\n"
        "package runtime\n"
        "const defaultGoroot = `%s`\n"
        "const theVersion = \"%s\"\n";
index 5dc6b6e51bf01c14906375a882a9f3590ad0991a..dc1408adc352f066806782d72140a130fa079fb1 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT   _rt0_amd64_windows(SB),7,$-8
        MOVQ    $_rt0_amd64(SB), AX
index fd75e78454ceec31857c509b233f8dd8525ec117..c7621ddcaf2c4b2b9523141a32d297934394976d 100644 (file)
@@ -152,7 +152,7 @@ sigaction(int32 i, void (*fn)(int32, Siginfo*, void*, G*), bool restart)
                sa.sa_flags |= SA_RESTART;
        sa.sa_mask = ~0ULL;
        sa.sa_tramp = runtime·sigtramp;        // runtime·sigtramp's job is to call into real handler
-       *(uintptr*)&sa.__sigaction_u = (uintptr)fn;
+       *(uintptr*)sa.__sigaction_u = (uintptr)fn;
        runtime·sigaction(i, &sa, nil);
 }
 
index 9a513468a0cf2ef043d55aaac6ded0ccb81029b1..6ce1ba5533c4730cd739a2909cb44d449fcc4991 100644 (file)
@@ -6,7 +6,7 @@
 // See http://fxr.watson.org/fxr/source/bsd/kern/syscalls.c?v=xnu-1228
 // or /usr/include/sys/syscall.h (on a Mac) for system call numbers.
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT runtime·notok(SB),7,$0
        MOVL    $0xf1, 0xf1
index ac777656c54e29c207f9ad4d75ce13e9022e90e9..86f99366148206b6429576b064b5a60809d17763 100644 (file)
@@ -11,7 +11,7 @@
 // The high 8 bits specify the kind of system call: 1=Mach, 2=BSD, 3=Machine-Dependent.
 //
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // Exit the entire program (like C exit)
 TEXT runtime·exit(SB),7,$0
index 9833784efce9417e5b79200590fc61ca3e83dd06..cec7a3e8e7a15440a14becd2474a364e648be5f9 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
        
 TEXT runtime·sys_umtx_op(SB),7,$-4
        MOVL    $454, AX
index 991c33c8254f0de05f937246dd3a9c6d86473a15..c96b2f4d6bbc36391b50f01ea64c0c290785047a 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
        
 TEXT runtime·sys_umtx_op(SB),7,$0
        MOVQ 8(SP), DI
index 1763143f9e3486eff5a35a30ff57b7e5e3a49d5f..b745bc502e6bd8e5daa3bddeb41377f71b62e486 100644 (file)
@@ -6,7 +6,7 @@
 // System calls and other sys.stuff for 386, Linux
 //
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT runtime·exit(SB),7,$0
        MOVL    $252, AX        // syscall number
index d55518686caf5da0801af624e9aa3f65d676e907..ef7bb2864c0a19799e78483e5e68928ed3c8d0e4 100644 (file)
@@ -6,7 +6,7 @@
 // System calls and other sys.stuff for AMD64, Linux
 //
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 TEXT runtime·exit(SB),7,$0-8
        MOVL    8(SP), DI
index d0b36dedf958f8bbc303d8514d9e48f35e2a6604..e0e4135b54cce3a58ae6fd63f2860496b3ac83da 100644 (file)
@@ -6,7 +6,7 @@
 // System calls and other sys.stuff for arm, Linux
 //
 
-#include "asm_arm.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // OABI
 //#define SYS_BASE 0x00900000
index bcb4fc5e719e3078cc4aa9fd2357b2f3befb1462..632286102432cffbc078f39b07a7f7b300527af4 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // Exit the entire program (like C exit)
 TEXT runtime·exit(SB),7,$-4
index 20817711fba7c7bca9542817455fb5749c82ed36..7abeb159b1e147bf1325ca97d11381421fdaf698 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // int64 rfork_thread(int32 flags, void *stack, M *m, G *g, void (*fn)(void));
 TEXT runtime·rfork_thread(SB),7,$0
index ae3275c852ff6d841a490c0cce8255a73a786575..d49d32b95a1e1285366f2f8d935d3111da3ac4f2 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // Exit the entire program (like C exit)
 TEXT runtime·exit(SB),7,$-4
index f568ba4312c303fbf7a181ef22f945f9d7c61860..5bf2e813e816e41fb443d2cecac7ee7af3c21ca2 100644 (file)
@@ -6,7 +6,7 @@
 // /usr/src/sys/kern/syscalls.master for syscall numbers.
 //
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // int64 rfork_thread(int32 flags, void *stack, M *m, G *g, void (*fn)(void));
 TEXT runtime·rfork_thread(SB),7,$0
index 8c773eee9df6d419cdd76fcad2f50b6893900976..94c36aa4100d1f66e4a663d1ae1df3372cd6949c 100644 (file)
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 #include "defs_GOOS_GOARCH.h"
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // setldt(int entry, int address, int limit)
 TEXT runtime·setldt(SB),7,$0
index 307b93d5c7efa9dd99d47ddd35f94a774f040f2f..c864c7f83c96a3e43db3b1a9b8a73495e5aee9a6 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_386.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // void runtime·asmstdcall(void *c);
 TEXT runtime·asmstdcall(SB),7,$0
index 508759ff8ff71e34d3519803a6e491ac4d76c296..e2a518884d72bd7f446040968001195dbff74697 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-#include "asm_amd64.h"
+#include "zasm_GOOS_GOARCH.h"
 
 // maxargs should be divisible by 2, as Windows stack
 // must be kept 16-byte aligned on syscall entry.