]> Cypherpunks.ru repositories - gostls13.git/commitdiff
all: merge dev.garbage (d1238958d4ae) into default branch
authorRuss Cox <rsc@golang.org>
Sat, 6 Dec 2014 01:34:45 +0000 (20:34 -0500)
committerRuss Cox <rsc@golang.org>
Sat, 6 Dec 2014 01:34:45 +0000 (20:34 -0500)
When we start work on Gerrit, ppc64 and garbage collection
work will continue in the master branch, not the dev branches.

(We may still use dev branches for other things later, but
these are ready to be merged, and doing it now, before moving
to Git means we don't have to have dev branches working
in the Gerrit workflow on day one.)

TBR=rlh
CC=golang-codereviews
https://golang.org/cl/183140043

88 files changed:
include/link.h
src/cmd/9a/doc.go
src/cmd/9a/lex.c
src/cmd/9g/doc.go
src/cmd/9g/galign.c
src/cmd/9g/ggen.c
src/cmd/9g/peep.c
src/cmd/9l/asm.c
src/cmd/9l/doc.go
src/cmd/9l/obj.c
src/cmd/api/goapi.go
src/cmd/cgo/main.go
src/cmd/dist/build.c
src/cmd/dist/buildruntime.c
src/cmd/dist/unix.c
src/cmd/gc/popt.c
src/cmd/go/build.go
src/cmd/internal/objfile/disasm.go
src/cmd/internal/objfile/elf.go
src/cmd/internal/objfile/macho.go
src/cmd/ld/ldelf.c
src/cmd/objdump/objdump_test.go
src/debug/elf/elf.go
src/go/build/build.go
src/go/build/syslist.go
src/hash/crc32/crc32_generic.go
src/liblink/obj9.c
src/math/abs_ppc64x.s [moved from src/math/abs_power64x.s with 91% similarity]
src/math/big/arith_ppc64x.s [moved from src/math/big/arith_power64x.s with 96% similarity]
src/math/stubs_ppc64x.s [moved from src/math/stubs_power64x.s with 98% similarity]
src/os/signal/sig.s
src/reflect/asm_ppc64x.s [moved from src/reflect/asm_power64x.s with 97% similarity]
src/run.bash
src/run.bat
src/runtime/arch1_ppc64.go [moved from src/runtime/arch1_power64.go with 100% similarity]
src/runtime/arch1_ppc64le.go [moved from src/runtime/arch1_power64le.go with 100% similarity]
src/runtime/arch_ppc64.go [moved from src/runtime/arch_power64.go with 100% similarity]
src/runtime/arch_ppc64le.go [moved from src/runtime/arch_power64le.go with 100% similarity]
src/runtime/asm_ppc64x.s [moved from src/runtime/asm_power64x.s with 99% similarity]
src/runtime/atomic_ppc64x.go [moved from src/runtime/atomic_power64x.go with 98% similarity]
src/runtime/atomic_ppc64x.s [moved from src/runtime/atomic_power64x.s with 96% similarity]
src/runtime/debug/stubs.s
src/runtime/defs1_netbsd_arm.go
src/runtime/defs3_linux.go
src/runtime/defs_linux_ppc64.go [moved from src/runtime/defs_linux_power64.go with 100% similarity]
src/runtime/defs_linux_ppc64le.go [moved from src/runtime/defs_linux_power64le.go with 100% similarity]
src/runtime/gcinfo_test.go
src/runtime/lfstack_linux_ppc64x.go [moved from src/runtime/lfstack_linux_power64x.go with 90% similarity]
src/runtime/memclr_ppc64x.s [moved from src/runtime/memclr_power64x.s with 93% similarity]
src/runtime/memmove_ppc64x.s [moved from src/runtime/memmove_power64x.s with 95% similarity]
src/runtime/noasm.go
src/runtime/os_netbsd_arm.c [deleted file]
src/runtime/os_netbsd_arm.go [new file with mode: 0644]
src/runtime/panic.go
src/runtime/panic1.go
src/runtime/rt0_linux_ppc64.s [moved from src/runtime/rt0_linux_power64.s with 88% similarity]
src/runtime/rt0_linux_ppc64le.s [moved from src/runtime/rt0_linux_power64le.s with 83% similarity]
src/runtime/runtime.go
src/runtime/signal_linux_ppc64x.go [moved from src/runtime/signal_linux_power64x.go with 99% similarity]
src/runtime/signal_netbsd_arm.go [new file with mode: 0644]
src/runtime/signal_netbsd_arm.h [deleted file]
src/runtime/signal_ppc64x.go [moved from src/runtime/signal_power64x.go with 99% similarity]
src/runtime/sys_linux_ppc64x.s [moved from src/runtime/sys_linux_power64x.s with 98% similarity]
src/runtime/sys_ppc64x.go [moved from src/runtime/sys_power64x.go with 97% similarity]
src/runtime/thunk.s
src/runtime/wincallback.go [new file with mode: 0644]
src/runtime/zcallback_windows.s [new file with mode: 0644]
src/runtime/zgoarch_386.go
src/runtime/zgoarch_amd64.go
src/runtime/zgoarch_amd64p32.go
src/runtime/zgoarch_arm.go
src/runtime/zgoarch_ppc64.go [moved from src/runtime/zgoarch_power64.go with 66% similarity]
src/runtime/zgoarch_ppc64le.go [moved from src/runtime/zgoarch_power64le.go with 65% similarity]
src/sync/atomic/asm_ppc64x.s [moved from src/sync/atomic/asm_power64x.s with 99% similarity]
src/syscall/asm.s
src/syscall/asm_linux_ppc64x.s [moved from src/syscall/asm_linux_power64x.s with 97% similarity]
src/syscall/mkall.sh
src/syscall/syscall_linux_ppc64x.go [moved from src/syscall/syscall_linux_power64x.go with 99% similarity]
src/syscall/zerrors_linux_ppc64.go [moved from src/syscall/zerrors_linux_power64.go with 100% similarity]
src/syscall/zerrors_linux_ppc64le.go [moved from src/syscall/zerrors_linux_power64le.go with 100% similarity]
src/syscall/zsyscall_linux_ppc64.go [moved from src/syscall/zsyscall_linux_power64.go with 99% similarity]
src/syscall/zsyscall_linux_ppc64le.go [moved from src/syscall/zsyscall_linux_power64le.go with 99% similarity]
src/syscall/zsysnum_linux_ppc64.go [moved from src/syscall/zsysnum_linux_power64.go with 100% similarity]
src/syscall/zsysnum_linux_ppc64le.go [moved from src/syscall/zsysnum_linux_power64le.go with 100% similarity]
src/syscall/ztypes_linux_ppc64.go [moved from src/syscall/ztypes_linux_power64.go with 100% similarity]
src/syscall/ztypes_linux_ppc64le.go [moved from src/syscall/ztypes_linux_power64le.go with 100% similarity]
test/nilptr3.go
test/nosplit.go

index 2b1d02102b5f5505a172b75ba63f8fdd324735cb..9e75350a80bf8a19c33aaa5ddc7d3d53ee37ac61 100644 (file)
@@ -93,10 +93,10 @@ struct      Prog
 
        // operands
        Addr    from;
-       uchar   reg; // arm, power64 only (e.g., ADD from, reg, to);
+       uchar   reg; // arm, ppc64 only (e.g., ADD from, reg, to);
                     // starts at 0 for both GPRs and FPRs;
-                    // also used for ADATA width on arm, power64
-       Addr    from3; // power64 only (e.g., RLWM/FMADD from, reg, from3, to)
+                    // also used for ADATA width on arm, ppc64
+       Addr    from3; // ppc64 only (e.g., RLWM/FMADD from, reg, from3, to)
        Addr    to;
        
        // for 5g, 6g, 8g internal use
@@ -636,8 +636,8 @@ extern      LinkArch        link386;
 extern LinkArch        linkamd64;
 extern LinkArch        linkamd64p32;
 extern LinkArch        linkarm;
-extern LinkArch        linkpower64;
-extern LinkArch        linkpower64le;
+extern LinkArch        linkppc64;
+extern LinkArch        linkppc64le;
 
 #pragma        varargck        type    "A"     int
 #pragma        varargck        type    "E"     uint
index 44bf89dc0089852ada70ef2a7c26734872490ba2..f6eed6d86e45244a659d8fcc78d2917b6579a535 100644 (file)
@@ -14,8 +14,8 @@ Go-specific considerations are documented at
 
        http://golang.org/doc/asm
 
-Its target architecture is the Power64, referred to by these tools as
-power64 (big endian) or power64le (little endian).
+Its target architecture is 64-bit PowerPC and Power Architecture processors,
+referred to by these tools as ppc64 (big endian) or ppc64le (little endian).
 
 */
 package main
index e2945ef89dff4ce9c22f46fd6b57420473b428b1..c8073b07d0fdccbac6aa1f78a866c93b8ed56e50 100644 (file)
@@ -71,7 +71,7 @@ dodef(char *p)
        Dlist[nDlist++] = p;
 }
 
-LinkArch*       thelinkarch = &linkpower64;
+LinkArch*       thelinkarch = &linkppc64;
 
 void
 usage(void)
@@ -87,15 +87,15 @@ main(int argc, char *argv[])
        char *p;
 
        thechar = '9';
-       thestring = "power64";
+       thestring = "ppc64";
 
        // Allow GOARCH=thestring or GOARCH=thestringsuffix,
        // but not other values.        
        p = getgoarch();
        if(strncmp(p, thestring, strlen(thestring)) != 0)
                sysfatal("cannot use %cc with GOARCH=%s", thechar, p);
-       if(strcmp(p, "power64le") == 0)
-               thelinkarch = &linkpower64le;
+       if(strcmp(p, "ppc64le") == 0)
+               thelinkarch = &linkppc64le;
 
        ctxt = linknew(thelinkarch);
        ctxt->diag = yyerror;
index 200be2eda2c324edaf8c16b880e754f00ba13512..56bb14344b518d1811f8a34f49645afa4c33dedc 100644 (file)
@@ -6,9 +6,9 @@
 
 /*
 
-9g is the version of the gc compiler for the Power64.
-The $GOARCH for these tools is power64 (big endian) or
-power64le (little endian).
+9g is the version of the gc compiler for 64-bit PowerPC or Power Architecture processors.
+The $GOARCH for these tools is ppc64 (big endian) or
+ppc64le (little endian).
 
 It reads .go files and outputs .9 files. The flags are documented in ../gc/doc.go.
 
index 97a5a5d06cd2bc05e22e79b090d2bae592593023..67514faa47ecd746d10ee0bfa1339d0b9b8d8ce8 100644 (file)
@@ -7,17 +7,17 @@
 #include "gg.h"
 
 int    thechar = '9';
-char*  thestring = "power64";
+char*  thestring = "ppc64";
 LinkArch*      thelinkarch;
 
 void
 linkarchinit(void)
 {
        thestring = getgoarch();
-       if(strcmp(thestring, "power64le") == 0)
-               thelinkarch = &linkpower64le;
+       if(strcmp(thestring, "ppc64le") == 0)
+               thelinkarch = &linkppc64le;
        else
-               thelinkarch = &linkpower64;
+               thelinkarch = &linkppc64;
 }
 
 vlong MAXWIDTH = 1LL<<50;
index 7d9cf5050d2cb6ceab0a20999fe2b2128696b93b..f08c263c225d6c4a84f18ebfd07f7264c3510c4f 100644 (file)
@@ -212,8 +212,8 @@ ginscall(Node *f, int proc)
                                // However, the stack trace code will show the line
                                // of the instruction byte before the return PC. 
                                // To avoid that being an unrelated instruction,
-                               // insert a Power64 NOP that we will have the right line number.
-                               // Power64 NOP is really or r0, r0, r0; use that description
+                               // insert a ppc64 NOP that we will have the right line number.
+                               // The ppc64 NOP is really or r0, r0, r0; use that description
                                // because the NOP pseudo-instruction would be removed by
                                // the linker.
                                nodreg(&reg, types[TINT], D_R0);
@@ -953,7 +953,7 @@ clearfat(Node *nl)
                f = sysfunc("duffzero");
                p = gins(ADUFFZERO, N, f);
                afunclit(&p->to, f);
-               // 4 and 128 = magic constants: see ../../runtime/asm_power64x.s
+               // 4 and 128 = magic constants: see ../../runtime/asm_ppc64x.s
                p->to.offset = 4*(128-q);
                // duffzero leaves R3 on the last zeroed dword
                boff = 8;
index 1f430220e570c73a06d63a96a2caf0f949271898..4e636b14840fa6ed835840e3ab0ddb3f1ea955f4 100644 (file)
@@ -935,7 +935,7 @@ copyau1(Prog *p, Addr *v)
 }
 
 // copysub replaces v with s in a if f!=0 or indicates it if could if f==0.
-// Returns 1 on failure to substitute (it always succeeds on power64).
+// Returns 1 on failure to substitute (it always succeeds on ppc64).
 static int
 copysub(Addr *a, Addr *v, Addr *s, int f)
 {
@@ -946,7 +946,7 @@ copysub(Addr *a, Addr *v, Addr *s, int f)
 }
 
 // copysub1 replaces v with s in p1->reg if f!=0 or indicates if it could if f==0.
-// Returns 1 on failure to substitute (it always succeeds on power64).
+// Returns 1 on failure to substitute (it always succeeds on ppc64).
 static int
 copysub1(Prog *p1, Addr *v, Addr *s, int f)
 {
index 65a36285d8ea51e3bfbebf54279c1b2c9e5ed816..f9e2810ade6ca9dc40d26cc98da46c860b6712d8 100644 (file)
@@ -129,7 +129,7 @@ archreloc(Reloc *r, LSym *s, vlong *val)
                *val = symaddr(r->sym) + r->add - symaddr(linklookup(ctxt, ".got", 0));
                return 0;
        case R_ADDRPOWER:
-               // r->add is two power64 instructions holding an immediate 32-bit constant.
+               // r->add is two ppc64 instructions holding an immediate 32-bit constant.
                // We want to add r->sym's address to that constant.
                // The encoding of the immediate x<<16 + y,
                // where x is the low 16 bits of the first instruction and y is the low 16
index 9df5dc6148d0b1c62a13ebaa1ef3298dd0fe2d64..3e3c48018dc1f15446a59dff91af57bea40f6b28 100644 (file)
@@ -6,9 +6,9 @@
 
 /*
 
-9l is the linker for the Power64.
-The $GOARCH for these tools is power64 (big endian) or
-power64le (little endian).
+9l is the linker for 64-bit PowerPC and Power Architecture processors.
+The $GOARCH for these tools is ppc64 (big endian) or
+ppc64le (little endian).
 
 The flags are documented in ../ld/doc.go.
 
index badb72a1ac72c0feea36670c443ced7398260f1f..dab1ffb3154a61beaf527a887b9a84ae6291922a 100644 (file)
 #include       "../ld/dwarf.h"
 #include       <ar.h>
 
-char *thestring = "power64";
+char *thestring = "ppc64";
 LinkArch *thelinkarch;
 
 void
 linkarchinit(void)
 {
        thestring = getgoarch();
-       if(strcmp(thestring, "power64le") == 0)
-               thelinkarch = &linkpower64le;
+       if(strcmp(thestring, "ppc64le") == 0)
+               thelinkarch = &linkppc64le;
        else
-               thelinkarch = &linkpower64;
+               thelinkarch = &linkppc64;
 }
 
 void
@@ -79,7 +79,7 @@ archinit(void)
                if(INITRND == -1)
                        INITRND = 4096;
                break;
-       case Hlinux:    /* power64 elf */
+       case Hlinux:    /* ppc64 elf */
                debug['d'] = 1; // TODO(minux): dynamic linking is not supported yet.
                elfinit();
                HEADR = ELFRESERVE;
index e49ba33bbf3fe3bf7ecf5839ba2285d604ca2f06..568aec8c0b2374b6ec54800fd905be7cc3f878db 100644 (file)
@@ -352,140 +352,16 @@ var parsedFileCache = make(map[string]*ast.File)
 
 func (w *Walker) parseFile(dir, file string) (*ast.File, error) {
        filename := filepath.Join(dir, file)
-       f, _ := parsedFileCache[filename]
-       if f != nil {
+       if f := parsedFileCache[filename]; f != nil {
                return f, nil
        }
 
-       var err error
-
-       // generate missing context-dependent files.
-
-       if w.context != nil && file == fmt.Sprintf("zgoos_%s.go", w.context.GOOS) {
-               src := fmt.Sprintf("package runtime; const theGoos = `%s`", w.context.GOOS)
-               f, err = parser.ParseFile(fset, filename, src, 0)
-               if err != nil {
-                       log.Fatalf("incorrect generated file: %s", err)
-               }
-       }
-
-       if w.context != nil && file == fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH) {
-               src := fmt.Sprintf("package runtime; const theGoarch = `%s`", w.context.GOARCH)
-               f, err = parser.ParseFile(fset, filename, src, 0)
-               if err != nil {
-                       log.Fatalf("incorrect generated file: %s", err)
-               }
-       }
-       if w.context != nil && file == fmt.Sprintf("zruntime_defs_%s_%s.go", w.context.GOOS, w.context.GOARCH) {
-               // Just enough to keep the api checker happy. Keep sorted.
-               src := "package runtime; type (" +
-                       " _defer struct{};" +
-                       " _func struct{};" +
-                       " _panic struct{};" +
-                       " _select struct{}; " +
-                       " _type struct{};" +
-                       " alg struct{};" +
-                       " chantype struct{};" +
-                       " context struct{};" + // windows
-                       " eface struct{};" +
-                       " epollevent struct{};" +
-                       " funcval struct{};" +
-                       " g struct{};" +
-                       " gobuf struct{};" +
-                       " hchan struct{};" +
-                       " iface struct{};" +
-                       " interfacetype struct{};" +
-                       " itab struct{};" +
-                       " keventt struct{};" +
-                       " m struct{};" +
-                       " maptype struct{};" +
-                       " mcache struct{};" +
-                       " mspan struct{};" +
-                       " mutex struct{};" +
-                       " note struct{};" +
-                       " p struct{};" +
-                       " parfor struct{};" +
-                       " slice struct{};" +
-                       " slicetype struct{};" +
-                       " stkframe struct{};" +
-                       " sudog struct{};" +
-                       " timespec struct{};" +
-                       " waitq struct{};" +
-                       " wincallbackcontext struct{};" +
-                       "); " +
-                       "const (" +
-                       " cb_max = 2000;" +
-                       " _CacheLineSize = 64;" +
-                       " _Gidle = 1;" +
-                       " _Grunnable = 2;" +
-                       " _Grunning = 3;" +
-                       " _Gsyscall = 4;" +
-                       " _Gwaiting = 5;" +
-                       " _Gdead = 6;" +
-                       " _Genqueue = 7;" +
-                       " _Gcopystack = 8;" +
-                       " _NSIG = 32;" +
-                       " _FlagNoScan = iota;" +
-                       " _FlagNoZero;" +
-                       " _TinySize;" +
-                       " _TinySizeClass;" +
-                       " _MaxSmallSize;" +
-                       " _PageShift;" +
-                       " _PageSize;" +
-                       " _PageMask;" +
-                       " _BitsPerPointer;" +
-                       " _BitsMask;" +
-                       " _PointersPerByte;" +
-                       " _MaxGCMask;" +
-                       " _BitsDead;" +
-                       " _BitsPointer;" +
-                       " _MSpanInUse;" +
-                       " _ConcurrentSweep;" +
-                       " _KindBool;" +
-                       " _KindInt;" +
-                       " _KindInt8;" +
-                       " _KindInt16;" +
-                       " _KindInt32;" +
-                       " _KindInt64;" +
-                       " _KindUint;" +
-                       " _KindUint8;" +
-                       " _KindUint16;" +
-                       " _KindUint32;" +
-                       " _KindUint64;" +
-                       " _KindUintptr;" +
-                       " _KindFloat32;" +
-                       " _KindFloat64;" +
-                       " _KindComplex64;" +
-                       " _KindComplex128;" +
-                       " _KindArray;" +
-                       " _KindChan;" +
-                       " _KindFunc;" +
-                       " _KindInterface;" +
-                       " _KindMap;" +
-                       " _KindPtr;" +
-                       " _KindSlice;" +
-                       " _KindString;" +
-                       " _KindStruct;" +
-                       " _KindUnsafePointer;" +
-                       " _KindDirectIface;" +
-                       " _KindGCProg;" +
-                       " _KindNoPointers;" +
-                       " _KindMask;" +
-                       ")"
-               f, err = parser.ParseFile(fset, filename, src, 0)
-               if err != nil {
-                       log.Fatalf("incorrect generated file: %s", err)
-               }
-       }
-
-       if f == nil {
-               f, err = parser.ParseFile(fset, filename, nil, 0)
-               if err != nil {
-                       return nil, err
-               }
+       f, err := parser.ParseFile(fset, filename, nil, 0)
+       if err != nil {
+               return nil, err
        }
-
        parsedFileCache[filename] = f
+
        return f, nil
 }
 
@@ -592,25 +468,6 @@ func (w *Walker) Import(name string) (pkg *types.Package) {
 
        filenames := append(append([]string{}, info.GoFiles...), info.CgoFiles...)
 
-       // Certain files only exist when building for the specified context.
-       // Add them manually.
-       if name == "runtime" {
-               n := fmt.Sprintf("zgoos_%s.go", w.context.GOOS)
-               if !contains(filenames, n) {
-                       filenames = append(filenames, n)
-               }
-
-               n = fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH)
-               if !contains(filenames, n) {
-                       filenames = append(filenames, n)
-               }
-
-               n = fmt.Sprintf("zruntime_defs_%s_%s.go", w.context.GOOS, w.context.GOARCH)
-               if !contains(filenames, n) {
-                       filenames = append(filenames, n)
-               }
-       }
-
        // Parse package files.
        var files []*ast.File
        for _, file := range filenames {
index 28ded816d5ba1d7881ecf78ba59edb56a79d16f4..9112703833054a12747337adf07387d012468b7c 100644 (file)
@@ -130,23 +130,19 @@ func usage() {
 }
 
 var ptrSizeMap = map[string]int64{
-       "386":       4,
-       "amd64":     8,
-       "arm":       4,
-       "ppc64":     8,
-       "ppc64le":   8,
-       "power64":   8,
-       "power64le": 8,
+       "386":     4,
+       "amd64":   8,
+       "arm":     4,
+       "ppc64":   8,
+       "ppc64le": 8,
 }
 
 var intSizeMap = map[string]int64{
-       "386":       4,
-       "amd64":     8,
-       "arm":       4,
-       "ppc64":     8,
-       "ppc64le":   8,
-       "power64":   8,
-       "power64le": 8,
+       "386":     4,
+       "amd64":   8,
+       "arm":     4,
+       "ppc64":   8,
+       "ppc64le": 8,
 }
 
 var cPrefix string
index bfb3d15b826b9f2799106cb3accafe4de9d5c70a..5feb77612b8cf2dbdb7325e17b91b9ebf97904f3 100644 (file)
@@ -48,8 +48,8 @@ static char *okgoarch[] = {
        "amd64",
        "amd64p32",
        "386",
-       "power64",
-       "power64le",
+       "ppc64",
+       "ppc64le",
 };
 
 // The known operating systems.
@@ -588,9 +588,6 @@ static struct {
        }},
        {"runtime", {
                "zaexperiment.h",
-               "zsys_$GOOS_$GOARCH.s",
-               "zgoarch_$GOARCH.go",
-               "zgoos_$GOOS.go",
                "zversion.go",
        }},
 };
@@ -614,7 +611,6 @@ static struct {
        {"anames8.c", mkanames},
        {"anames9.c", mkanames},
        {"zdefaultcc.go", mkzdefaultcc},
-       {"zsys_", mkzsys},
        {"zversion.go", mkzversion},
        {"zaexperiment.h", mkzexperiment},
 
@@ -1391,6 +1387,11 @@ static char *cleantab[] = {
        "unicode/utf8",
 };
 
+static char *runtimegen[] = {
+       "zaexperiment.h",
+       "zversion.go",
+};
+
 static void
 clean(void)
 {
@@ -1417,15 +1418,11 @@ clean(void)
                        xremove(bpathf(&b, "%s/%s", bstr(&path), cleantab[i]+4));
        }
 
-       // remove src/runtime/z* unconditionally,
+       // remove src/runtime/zaexperiment.h and 
        // except leave zgoos and zgoarch, now maintained with go generate.
-       vreset(&dir);
        bpathf(&path, "%s/src/runtime", goroot);
-       xreaddir(&dir, bstr(&path));
-       for(j=0; j<dir.len; j++) {
-               if(hasprefix(dir.p[j], "z") && !hasprefix(dir.p[j], "zg"))
-                       xremove(bpathf(&b, "%s/%s", bstr(&path), dir.p[j]));
-       }
+       for(j=0; j<nelem(runtimegen); j++)
+               xremove(bpathf(&b, "%s/%s", bstr(&path), runtimegen[j]));
 
        if(rebuildall) {
                // Remove object tree.
index 38e99e11628fcd45d8d74b549365a9da93006d1e..add68976825a7388fdaafab234ead55d09195c86 100644 (file)
@@ -66,44 +66,3 @@ mkzexperiment(char *dir, char *file)
        bfree(&out);
        bfree(&exp);
 }
-
-#define MAXWINCB 2000 /* maximum number of windows callbacks allowed */
-
-// mkzsys writes zsys_$GOOS_$GOARCH.s,
-// which contains arch or os specific asm code.
-// 
-void
-mkzsys(char *dir, char *file)
-{
-       int i;
-       Buf out;
-
-       USED(dir);
-       
-       binit(&out);
-       
-       bwritestr(&out, "// auto generated by go tool dist\n\n");
-       if(streq(goos, "linux")) {
-               bwritestr(&out, "// +build !android\n\n");
-       }
-       
-       if(streq(goos, "windows")) {
-               bwritef(&out,
-                       "// runtime·callbackasm is called by external code to\n"
-                       "// execute Go implemented callback function. It is not\n"
-                       "// called from the start, instead runtime·compilecallback\n"
-                       "// always returns address into runtime·callbackasm offset\n"
-                       "// appropriately so different callbacks start with different\n"
-                       "// CALL instruction in runtime·callbackasm. This determines\n"
-                       "// which Go callback function is executed later on.\n"
-                       "TEXT runtime·callbackasm(SB),7,$0\n");
-               for(i=0; i<MAXWINCB; i++) {
-                       bwritef(&out, "\tCALL\truntime·callbackasm1(SB)\n");
-               }
-               bwritef(&out, "\tRET\n");
-       }
-
-       writefile(&out, file, 0);
-       
-       bfree(&out);
-}
index 893ed5cdd2c6d42ab2fd9636466190d0b35278f6..0fd17c15091461152d60929f0566cd1447c2ca59 100644 (file)
@@ -709,9 +709,9 @@ main(int argc, char **argv)
                else if(contains(u.machine, "arm"))
                        gohostarch = "arm";
                else if(contains(u.machine, "ppc64le"))
-                       gohostarch = "power64le";
+                       gohostarch = "ppc64le";
                else if(contains(u.machine, "ppc64"))
-                       gohostarch = "power64";
+                       gohostarch = "ppc64";
                else
                        fatal("unknown architecture: %s", u.machine);
        }
index 6e6db88ef86daac315da0f204de74ea7f8d4cf56..993bb24821d21b59d56ce809ac23d2e9cad49573 100644 (file)
@@ -847,10 +847,6 @@ nilopt(Prog *firstp)
        Graph *g;
        int ncheck, nkill;
 
-       // TODO(minux): nilopt on power64 throw away seemly random segment of code.
-       if(thechar == '9')
-               return;
-
        g = flowstart(firstp, sizeof(NilFlow));
        if(g == nil)
                return;
index 5dcaa04a172b96020a52a13e11dfbee319bf52f0..58fc98d84b3fd09154244936ded9babd1086795c 100644 (file)
@@ -813,7 +813,8 @@ func (b *builder) build(a *action) (err error) {
        }
 
        if a.p.Standard && a.p.ImportPath == "runtime" && buildContext.Compiler == "gc" &&
-               !hasString(a.p.SFiles, "zsys_"+buildContext.GOOS+"_"+buildContext.GOARCH+".s") {
+               (!hasString(a.p.GoFiles, "zgoos_"+buildContext.GOOS+".go") ||
+                       !hasString(a.p.GoFiles, "zgoarch_"+buildContext.GOARCH+".go")) {
                return fmt.Errorf("%s/%s must be bootstrapped using make%v", buildContext.GOOS, buildContext.GOARCH, defaultSuffix())
        }
 
index 1a339c321411f9d8b2f59a8df217bf568f75534d..9838ce2856f3145378620b1693327806e2b4bc8c 100644 (file)
@@ -240,9 +240,9 @@ var disasms = map[string]disasmFunc{
 }
 
 var byteOrders = map[string]binary.ByteOrder{
-       "386":       binary.LittleEndian,
-       "amd64":     binary.LittleEndian,
-       "arm":       binary.LittleEndian,
-       "power64":   binary.BigEndian,
-       "power64le": binary.LittleEndian,
+       "386":     binary.LittleEndian,
+       "amd64":   binary.LittleEndian,
+       "arm":     binary.LittleEndian,
+       "ppc64":   binary.BigEndian,
+       "ppc64le": binary.LittleEndian,
 }
index 17755b84d2cfa78fd052cfb2f64fa263eaa71bdb..305706d4341e722260dba70d58c62c0c166471fe 100644 (file)
@@ -98,7 +98,7 @@ func (f *elfFile) goarch() string {
        case elf.EM_ARM:
                return "arm"
        case elf.EM_PPC64:
-               return "power64"
+               return "ppc64"
        }
        return ""
 }
index 7dd84a339db519a4d0ea445ff6ab9fad71c0d923..a6cd02b930d76a2ca9524ac36b47c41b38d0fa05 100644 (file)
@@ -104,7 +104,7 @@ func (f *machoFile) goarch() string {
        case macho.CpuArm:
                return "arm"
        case macho.CpuPpc64:
-               return "power64"
+               return "ppc64"
        }
        return ""
 }
index ec8e7c4eaf123fc92110c2d9b129dcc86937fb7d..243c8d8078321f63616191ba8142de1be4d3fb75 100644 (file)
@@ -62,7 +62,7 @@ enum
        ElfMachSparc32Plus,     /* SPARC V8+ */
        ElfMach960,             /* Intel 80960 */
        ElfMachPower,           /* PowerPC */
-       ElfMachPower64, /* PowerPC 64 */
+       ElfMachPower64, /* PowerPC 64-bit */
        ElfMachS390,            /* IBM System/390 */
        ElfMachV800 = 36,       /* NEC V800 */
        ElfMachFr20,            /* Fujitsu FR20 */
@@ -438,7 +438,7 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn)
                break;
        case '9':
                if(obj->machine != ElfMachPower64 || hdr->ident[4] != ElfClass64) {
-                       diag("%s: elf object but not power64", pn);
+                       diag("%s: elf object but not ppc64", pn);
                        return;
                }
                break;
index bd09ae9f933b00d3664ce2d93c76fb279e9b63ca..513efbf96fc51c9e0947894ddfbcb50cdf776460 100644 (file)
@@ -102,7 +102,7 @@ func testDisasm(t *testing.T, flags ...string) {
 
 func TestDisasm(t *testing.T) {
        switch runtime.GOARCH {
-       case "power64", "power64le":
+       case "ppc64", "ppc64le":
                t.Skipf("skipping on %s, issue 9039", runtime.GOARCH)
        }
        testDisasm(t)
@@ -114,7 +114,7 @@ func TestDisasmExtld(t *testing.T) {
                t.Skipf("skipping on %s", runtime.GOOS)
        }
        switch runtime.GOARCH {
-       case "power64", "power64le":
+       case "ppc64", "ppc64le":
                t.Skipf("skipping on %s, no support for external linking, issue 9038", runtime.GOARCH)
        }
        testDisasm(t, "-ldflags=-linkmode=external")
index 46e9d5735d179cecc5bf65a89b04f4d15bfe83c8..0ead9792be03fcb09e5f4e1371c4b3a6540b5b87 100644 (file)
@@ -1414,7 +1414,7 @@ var rppcStrings = []intName{
 func (i R_PPC) String() string   { return stringName(uint32(i), rppcStrings, false) }
 func (i R_PPC) GoString() string { return stringName(uint32(i), rppcStrings, true) }
 
-// Relocation types for PowerPC 64.
+// Relocation types for 64-bit PowerPC or Power Architecture processors.
 type R_PPC64 int
 
 const (
index ab2976756b9d8ce395e859898702380af7ce11cf..12c20e58d86fd8d02789c7a51c1a798469300765 100644 (file)
@@ -1386,7 +1386,7 @@ func ArchChar(goarch string) (string, error) {
                return "6", nil
        case "arm":
                return "5", nil
-       case "power64", "power64le":
+       case "ppc64", "ppc64le":
                return "9", nil
        }
        return "", errors.New("unsupported GOARCH " + goarch)
index 2ab53bb9ccbdc3813f5dbc854561f2649ca037d5..9246cbf5572caf2c2304d6fd03844eccc5a21425 100644 (file)
@@ -5,4 +5,4 @@
 package build
 
 const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows "
-const goarchList = "386 amd64 amd64p32 arm power64 power64le "
+const goarchList = "386 amd64 amd64p32 arm ppc64 ppc64le "
index 1c7f806c605652547314d9404b32ae26e78da275..6f597f556b30bf0a25282c55b832b916b2cf9c4a 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.
 
-// +build 386 arm power64 power64le
+// +build 386 arm ppc64 ppc64le
 
 package crc32
 
index 10a1f16353f1fce40a4d48d8a288f024b2bad08f..533dbc271b5093dfc30f184b081c12192dcdc61d 100644 (file)
@@ -484,7 +484,7 @@ addstacksplit(Link *ctxt, LSym *cursym)
                                //      NOP
                                //
                                // The NOP is needed to give the jumps somewhere to land.
-                               // It is a liblink NOP, not a Power64 NOP: it encodes to 0 instruction bytes.
+                               // It is a liblink NOP, not a ppc64 NOP: it encodes to 0 instruction bytes.
 
 
                                q = appendp(ctxt, q);
@@ -988,8 +988,8 @@ prg(void)
        return p;
 }
 
-LinkArch linkpower64 = {
-       .name = "power64",
+LinkArch linkppc64 = {
+       .name = "ppc64",
        .thechar = '9',
        .endian = BigEndian,
 
@@ -1035,8 +1035,8 @@ LinkArch linkpower64 = {
        .AUSEFIELD = AUSEFIELD,
 };
 
-LinkArch linkpower64le = {
-       .name = "power64le",
+LinkArch linkppc64le = {
+       .name = "ppc64le",
        .thechar = '9',
        .endian = LittleEndian,
 
similarity index 91%
rename from src/math/abs_power64x.s
rename to src/math/abs_ppc64x.s
index 3ba8201b3be048923cdbc53481b40d867fe6ec34..4fd86785ad1c78622473ddf74c1b4f2f6652271d 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
similarity index 96%
rename from src/math/big/arith_power64x.s
rename to src/math/big/arith_ppc64x.s
index c33a9209f1cb9d664ddae00a464b5167f64bbff7..0cbd126d83c9518334491b79941dc0537ee23f55 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
similarity index 98%
rename from src/math/stubs_power64x.s
rename to src/math/stubs_ppc64x.s
index 36b762554af420d727c17a4b1387e97adc6bc105..9369c5cf252e17d1e22e7fab74dc0593f117f33b 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
index 1826c37fbd19585952aabe222ac95a6af307253b..5a042a096407ea50a421bf1f2ea9519c83da69a9 100644 (file)
@@ -4,17 +4,17 @@
 
 // Assembly to get into package runtime without using exported symbols.
 
-// +build amd64 amd64p32 arm 386 power64 power64le
+// +build amd64 amd64p32 arm 386 ppc64 ppc64le
 
 #include "textflag.h"
 
 #ifdef GOARCH_arm
 #define JMP B
 #endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
 #define JMP BR
 #endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
 #define JMP BR
 #endif
 
similarity index 97%
rename from src/reflect/asm_power64x.s
rename to src/reflect/asm_ppc64x.s
index 4720638242cde483938177a9506cabe4c0b99e21..a87131e0040256668e3614339dc905c31b61cdbb 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 #include "funcdata.h"
index ff98d09f514909b606c7431b1eb0251090184f2c..bb9e706033954d8692f6a0369f5ab1786d29095b 100755 (executable)
@@ -162,7 +162,6 @@ esac
 # Race detector only supported on Linux, FreeBSD and OS X,
 # and only on amd64, and only when cgo is enabled.
 # Delayed until here so we know whether to try external linking.
-# DISABLED until we get garbage collection working.
 case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED" in
 linux-linux-amd64-1 | freebsd-freebsd-amd64-1 | darwin-darwin-amd64-1)
        echo
@@ -256,8 +255,7 @@ rm -f runtest
 [ "$GOOS" == nacl ] ||
 (
 echo
-echo '# SKIPPING API CHECK UNTIL ALL SYSTEMS BUILD.'
-# time go run $GOROOT/src/cmd/api/run.go || exit 1
+time go run $GOROOT/src/cmd/api/run.go || exit 1
 ) || exit $?
 
 echo
index efa97662f875466be70b8cd965a6f58984fb6300..31bb88c3dabc7ca1ea94020f3d329012e6b634bb 100644 (file)
@@ -135,10 +135,8 @@ set GOMAXPROCS=%OLDGOMAXPROCS%
 set OLDGOMAXPROCS=
 
 :: echo # Checking API compatibility.
-:: go run "%GOROOT%\src\cmd\api\run.go"
-:: if errorlevel 1 goto fail
-:: echo.
-echo # SKIPPING API COMPATIBILITY UNTIL ALL SYSTEMS BUILD.
+go run "%GOROOT%\src\cmd\api\run.go"
+if errorlevel 1 goto fail
 echo.
 
 echo ALL TESTS PASSED
similarity index 99%
rename from src/runtime/asm_power64x.s
rename to src/runtime/asm_ppc64x.s
index 548c88e47d0b34a25c7dd5b9779cdb9afbbb3467..b3b55fe55ea558e92a5c189d52f5d2cf14b53595 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "go_asm.h"
 #include "go_tls.h"
@@ -550,7 +550,7 @@ TEXT runtime·atomicor8(SB), NOSPLIT, $0-9
        // R5 = (R3 << 0) & ~3
        RLDCR   $0, R3, $~3, R5
        // Compute val shift.
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
        // Big endian.  ptr = ptr ^ 3
        XOR     $3, R3
 #endif
@@ -669,7 +669,7 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-8
        MOVD    R3, ret+0(FP)
        RETURN
 
-// AES hashing not implemented for Power
+// AES hashing not implemented for ppc64
 TEXT runtime·aeshash(SB),NOSPLIT,$-8-0
        MOVW    (R0), R1
 TEXT runtime·aeshash32(SB),NOSPLIT,$-8-0
similarity index 98%
rename from src/runtime/atomic_power64x.go
rename to src/runtime/atomic_ppc64x.go
index a0dcf514b50b6b2dca2a7017925888054bcb8fc0..4080af6a561f8cecfff23c1a3b768987974b5638 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 package runtime
 
similarity index 96%
rename from src/runtime/atomic_power64x.s
rename to src/runtime/atomic_ppc64x.s
index e72871761d8d335dccf23f9b4f5e6624f6ac40fc..7ee08213d47cdc66a683adffd3c05ecc48c8bdb9 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
index 1e883b72c0d3c25e9e0a90d6be8728ef762528c6..b117063e7697bc11cefd3e1be310521f11fdefc9 100644 (file)
@@ -7,10 +7,10 @@
 #ifdef GOARCH_arm
 #define JMP B
 #endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
 #define JMP BR
 #endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
 #define JMP BR
 #endif
 
index 54ddf3882e264cf468d95c399384cdd213406cca..c976351a2709228967d9bd20866cae0003c2ce49 100644 (file)
@@ -84,8 +84,8 @@ const (
 )
 
 type sigaltstackt struct {
-       ss_sp    *byte
-       ss_size  uint32
+       ss_sp    uintptr
+       ss_size  uintptr
        ss_flags int32
 }
 
@@ -94,15 +94,16 @@ type sigset struct {
 }
 
 type siginfo struct {
-       _signo  int32
-       _code   int32
-       _errno  int32
-       _reason [20]byte
+       _signo   int32
+       _code    int32
+       _errno   int32
+       _reason  uintptr
+       _reasonx [16]byte
 }
 
 type stackt struct {
-       ss_sp    *byte
-       ss_size  uint32
+       ss_sp    uintptr
+       ss_size  uintptr
        ss_flags int32
 }
 
@@ -111,11 +112,23 @@ type timespec struct {
        tv_nsec int32
 }
 
+func (ts *timespec) set_sec(x int32) {
+       ts.tv_sec = int64(x)
+}
+
+func (ts *timespec) set_nsec(x int32) {
+       ts.tv_nsec = x
+}
+
 type timeval struct {
        tv_sec  int64
        tv_usec int32
 }
 
+func (tv *timeval) set_usec(x int32) {
+       tv.tv_usec = x
+}
+
 type itimerval struct {
        it_interval timeval
        it_value    timeval
index 3551a4fa90766e989683b42de697e6a3d9c23ef9..489c130d0fe278e4828c040fb771047a5937135d 100644 (file)
@@ -7,7 +7,7 @@
 /*
 Input to cgo -cdefs
 
-GOARCH=power64 cgo -cdefs defs_linux.go defs3_linux.go > defs_linux_power64.h
+GOARCH=ppc64 cgo -cdefs defs_linux.go defs3_linux.go > defs_linux_ppc64.h
 */
 
 package runtime
index 2b45c8184d5882bb8b8374806320cca5be1241f6..93535ae9d706e660139f99114b4b364c0802efaf 100644 (file)
@@ -134,7 +134,7 @@ func infoBigStruct() []byte {
                        BitsScalar, BitsScalar, BitsScalar, BitsScalar, // t int; y uint16; u uint64
                        BitsPointer, BitsDead, // i string
                }
-       case "amd64", "power64", "power64le":
+       case "amd64", "ppc64", "ppc64le":
                return []byte{
                        BitsPointer,                        // q *int
                        BitsScalar, BitsScalar, BitsScalar, // w byte; e [17]byte
similarity index 90%
rename from src/runtime/lfstack_linux_power64x.go
rename to src/runtime/lfstack_linux_ppc64x.go
index 89e389fc726f664768d250ea0bda9b9cc2ef2fd9..7ed502558463be2c58a5c96ca9226487010de598 100644 (file)
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 // +build linux
 
 package runtime
 
 import "unsafe"
 
-// On Power64, Linux limits the user address space to 46 bits (see
+// On ppc64, Linux limits the user address space to 46 bits (see
 // TASK_SIZE_USER64 in the Linux kernel).  This has grown over time,
 // so here we allow 48 bit addresses.
 //
similarity index 93%
rename from src/runtime/memclr_power64x.s
rename to src/runtime/memclr_ppc64x.s
index dfad64b6f51ca40e14be94e3f8dc4ed790122e43..535faa1c0ed1d4d9a2ccc47cd38af46dc5050c52 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
similarity index 95%
rename from src/runtime/memmove_power64x.s
rename to src/runtime/memmove_ppc64x.s
index 2b04d8319a3d1a5b573c9c0e4423b9289d1e4f9a..23725ed0f6b79d9ea9ba721bca21d843a261070f 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
index 43c16860b2b96930e26d1d775f8a00da8ece9f7d..1337fc9a1868be1a93d222e2e22bbb177ba20291 100644 (file)
@@ -5,7 +5,7 @@
 // Routines that are implemented in assembly in asm_{amd64,386}.s
 // but are implemented in Go for arm.
 
-// +build arm power64 power64le
+// +build arm ppc64 ppc64le
 
 package runtime
 
diff --git a/src/runtime/os_netbsd_arm.c b/src/runtime/os_netbsd_arm.c
deleted file mode 100644 (file)
index 9dd4bcd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 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.
-
-#include "runtime.h"
-#include "defs_GOOS_GOARCH.h"
-#include "os_GOOS.h"
-#include "signal_GOOS_GOARCH.h"
-#include "textflag.h"
-
-void
-runtime·lwp_mcontext_init(McontextT *mc, void *stack, M *mp, G *gp, void (*fn)(void))
-{
-       mc->__gregs[REG_R15] = (uint32)runtime·lwp_tramp;
-       mc->__gregs[REG_R13] = (uint32)stack;
-       mc->__gregs[REG_R0] = (uint32)mp;
-       mc->__gregs[REG_R1] = (uint32)gp;
-       mc->__gregs[REG_R2] = (uint32)fn;
-}
-
-void
-runtime·checkgoarm(void)
-{
-       // TODO(minux)
-}
-
-#pragma textflag NOSPLIT
-int64
-runtime·cputicks() {
-       // Currently cputicks() is used in blocking profiler and to seed runtime·fastrand1().
-       // runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
-       // TODO: need more entropy to better seed fastrand1.
-       return runtime·nanotime();
-}
diff --git a/src/runtime/os_netbsd_arm.go b/src/runtime/os_netbsd_arm.go
new file mode 100644 (file)
index 0000000..83c4c06
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2013 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.
+
+package runtime
+
+import "unsafe"
+
+func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) {
+       // Machine dependent mcontext initialisation for LWP.
+       mc.__gregs[_REG_R15] = uint32(funcPC(lwp_tramp))
+       mc.__gregs[_REG_R13] = uint32(uintptr(stk))
+       mc.__gregs[_REG_R0] = uint32(uintptr(unsafe.Pointer(mp)))
+       mc.__gregs[_REG_R1] = uint32(uintptr(unsafe.Pointer(gp)))
+       mc.__gregs[_REG_R2] = uint32(fn)
+}
+
+func checkgoarm() {
+       // TODO(minux)
+}
+
+//go:nosplit
+func cputicks() int64 {
+       // Currently cputicks() is used in blocking profiler and to seed runtime·fastrand1().
+       // runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
+       // TODO: need more entropy to better seed fastrand1.
+       return nanotime()
+}
index 95e780b1d954de26a12c7df8ad0d9232caa613bd..7ec084acfcd135384eb8f2b50dfff40df72890f8 100644 (file)
@@ -66,7 +66,7 @@ func deferproc(siz int32, fn *funcval) { // arguments of fn follow fn
        // we can only call nosplit routines.
        argp := uintptr(unsafe.Pointer(&fn))
        argp += unsafe.Sizeof(fn)
-       if GOARCH == "arm" || GOARCH == "power64" || GOARCH == "power64le" {
+       if GOARCH == "arm" || GOARCH == "ppc64" || GOARCH == "ppc64le" {
                argp += ptrSize // skip caller's saved link register
        }
        callerpc := getcallerpc(unsafe.Pointer(&siz))
index 17379f9630cd3ee13754c9214458793525e14478..96f07a0ca0738341aa064b13e5ca2c4a7d2527f8 100644 (file)
@@ -12,7 +12,7 @@ import "unsafe"
 //uint32 runtime·panicking;
 var paniclk mutex
 
-const hasLinkRegister = GOARCH == "arm" || GOARCH == "power64" || GOARCH == "power64le"
+const hasLinkRegister = GOARCH == "arm" || GOARCH == "ppc64" || GOARCH == "ppc64le"
 
 // Unwind the stack after a deferred function calls recover
 // after a panic.  Then arrange to continue running as though
similarity index 88%
rename from src/runtime/rt0_linux_power64.s
rename to src/runtime/rt0_linux_ppc64.s
index 970b6a6733353ef0fa3aa590d81e099f56e7e18d..33bbbbd1bf38042d6f0a31d31d0b926f13f059ce 100644 (file)
@@ -1,7 +1,7 @@
 #include "textflag.h"
 
 // actually a function descriptor for _main<>(SB)
-TEXT _rt0_power64_linux(SB),NOSPLIT,$0
+TEXT _rt0_ppc64_linux(SB),NOSPLIT,$0
        DWORD $_main<>(SB)
        DWORD $0
        DWORD $0
similarity index 83%
rename from src/runtime/rt0_linux_power64le.s
rename to src/runtime/rt0_linux_ppc64le.s
index 85ce847334b96b5d47876cc170fcc11ac6e91abb..a3b3cea0b52ae9ccb83ce5558b722029aa4bc387 100644 (file)
@@ -1,6 +1,6 @@
 #include "textflag.h"
 
-TEXT _rt0_power64le_linux(SB),NOSPLIT,$0
+TEXT _rt0_ppc64le_linux(SB),NOSPLIT,$0
        BR _main<>(SB)
 
 TEXT _main<>(SB),NOSPLIT,$-8
index 4e4e1d17a5c3da3e2c3c1232876a074672d19b7d..2e291c28bebfb40d011b053fb4a3c9ffa07e3b57 100644 (file)
@@ -4,6 +4,8 @@
 
 package runtime
 
+//go:generate go run wincallback.go
+
 var ticks struct {
        lock mutex
        val  uint64
similarity index 99%
rename from src/runtime/signal_linux_power64x.go
rename to src/runtime/signal_linux_ppc64x.go
index 0a406b31fc09da198ca39100328419766b8edbf7..da3afc9e9e535b6ed01780163369d4800648493d 100644 (file)
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 package runtime
 
diff --git a/src/runtime/signal_netbsd_arm.go b/src/runtime/signal_netbsd_arm.go
new file mode 100644 (file)
index 0000000..9b114c8
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright 2013 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.
+
+package runtime
+
+import "unsafe"
+
+type sigctxt struct {
+       info *siginfo
+       ctxt unsafe.Pointer
+}
+
+func (c *sigctxt) regs() *mcontextt { return &(*ucontextt)(c.ctxt).uc_mcontext }
+func (c *sigctxt) r0() uint32       { return c.regs().__gregs[_REG_R0] }
+func (c *sigctxt) r1() uint32       { return c.regs().__gregs[_REG_R1] }
+func (c *sigctxt) r2() uint32       { return c.regs().__gregs[_REG_R2] }
+func (c *sigctxt) r3() uint32       { return c.regs().__gregs[_REG_R3] }
+func (c *sigctxt) r4() uint32       { return c.regs().__gregs[_REG_R4] }
+func (c *sigctxt) r5() uint32       { return c.regs().__gregs[_REG_R5] }
+func (c *sigctxt) r6() uint32       { return c.regs().__gregs[_REG_R6] }
+func (c *sigctxt) r7() uint32       { return c.regs().__gregs[_REG_R7] }
+func (c *sigctxt) r8() uint32       { return c.regs().__gregs[_REG_R8] }
+func (c *sigctxt) r9() uint32       { return c.regs().__gregs[_REG_R9] }
+func (c *sigctxt) r10() uint32      { return c.regs().__gregs[_REG_R10] }
+func (c *sigctxt) fp() uint32       { return c.regs().__gregs[_REG_R11] }
+func (c *sigctxt) ip() uint32       { return c.regs().__gregs[_REG_R12] }
+func (c *sigctxt) sp() uint32       { return c.regs().__gregs[_REG_R13] }
+func (c *sigctxt) lr() uint32       { return c.regs().__gregs[_REG_R14] }
+func (c *sigctxt) pc() uint32       { return c.regs().__gregs[_REG_R15] }
+func (c *sigctxt) cpsr() uint32     { return c.regs().__gregs[_REG_CPSR] }
+func (c *sigctxt) fault() uint32    { return uint32(c.info._reason) }
+func (c *sigctxt) trap() uint32     { return 0 }
+func (c *sigctxt) error() uint32    { return 0 }
+func (c *sigctxt) oldmask() uint32  { return 0 }
+
+func (c *sigctxt) sigcode() uint32 { return uint32(c.info._code) }
+func (c *sigctxt) sigaddr() uint32 { return uint32(c.info._reason) }
+
+func (c *sigctxt) set_pc(x uint32)  { c.regs().__gregs[_REG_R15] = x }
+func (c *sigctxt) set_sp(x uint32)  { c.regs().__gregs[_REG_R13] = x }
+func (c *sigctxt) set_lr(x uint32)  { c.regs().__gregs[_REG_R14] = x }
+func (c *sigctxt) set_r10(x uint32) { c.regs().__gregs[_REG_R10] = x }
+
+func (c *sigctxt) set_sigcode(x uint32) { c.info._code = int32(x) }
+func (c *sigctxt) set_sigaddr(x uint32) {
+       c.info._reason = uintptr(x)
+}
diff --git a/src/runtime/signal_netbsd_arm.h b/src/runtime/signal_netbsd_arm.h
deleted file mode 100644 (file)
index 12f5827..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2013 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.
-
-#define SIG_REGS(ctxt) (((UcontextT*)(ctxt))->uc_mcontext)
-
-#define SIG_R0(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R0])
-#define SIG_R1(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R1])
-#define SIG_R2(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R2])
-#define SIG_R3(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R3])
-#define SIG_R4(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R4])
-#define SIG_R5(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R5])
-#define SIG_R6(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R6])
-#define SIG_R7(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R7])
-#define SIG_R8(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R8])
-#define SIG_R9(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R9])
-#define SIG_R10(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R10])
-#define SIG_FP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R11])
-#define SIG_IP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R12])
-#define SIG_SP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R13])
-#define SIG_LR(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R14])
-#define SIG_PC(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R15])
-#define SIG_CPSR(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_CPSR])
-#define SIG_FAULT(info, ctxt) (*(uintptr*)&(info)->_reason[0])
-#define SIG_TRAP(info, ctxt) (0)
-#define SIG_ERROR(info, ctxt) (0)
-#define SIG_OLDMASK(info, ctxt) (0)
-
-#define SIG_CODE0(info, ctxt) ((info)->_code)
-#define SIG_CODE1(info, ctxt) (*(uintptr*)&(info)->_reason[0])
similarity index 99%
rename from src/runtime/signal_power64x.go
rename to src/runtime/signal_ppc64x.go
index fc83beb1b6dc4ff35d06b215bb66309eeb1bdbcc..ab32300f3f073a014fac1be8961909fc4e335d6d 100644 (file)
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 package runtime
 
similarity index 98%
rename from src/runtime/sys_linux_power64x.s
rename to src/runtime/sys_linux_ppc64x.s
index 395f657bf796944a63ec9605c573db5a866b7ef2..4a4f440c53dbe5689819ca79c7ad09367c827158 100644 (file)
@@ -3,10 +3,10 @@
 // license that can be found in the LICENSE file.
 
 // +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 //
-// System calls and other sys.stuff for Power64, Linux
+// System calls and other sys.stuff for ppc64, Linux
 //
 
 #include "go_asm.h"
@@ -179,8 +179,8 @@ TEXT runtime·rt_sigaction(SB),NOSPLIT,$-8-36
        MOVW    R3, ret+32(FP)
        RETURN
 
-#ifdef GOARCH_power64le
-// power64le doesn't need function descriptors
+#ifdef GOARCH_ppc64le
+// ppc64le doesn't need function descriptors
 TEXT runtime·sigtramp(SB),NOSPLIT,$64
 #else
 // function descriptor for the real sigtramp
similarity index 97%
rename from src/runtime/sys_power64x.go
rename to src/runtime/sys_ppc64x.go
index 90ebde7b408a178131ed2ffbbb20059f5f6e0b23..b0c0331fcbbb8ffd7e0c4754007124f6dcbde733 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 package runtime
 
index 241dd90afefbc9b18b8ead7b14dee40586e9d455..0714dc198af9328ce2a94bf1b3600b95e8f54ce6 100644 (file)
@@ -9,10 +9,10 @@
 #ifdef GOARCH_arm
 #define JMP B
 #endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
 #define JMP BR
 #endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
 #define JMP BR
 #endif
 
diff --git a/src/runtime/wincallback.go b/src/runtime/wincallback.go
new file mode 100644 (file)
index 0000000..4c0daf1
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright 2014 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
+
+// Generate Windows callback assembly file.
+
+package main
+
+import (
+       "bytes"
+       "fmt"
+       "io/ioutil"
+       "os"
+)
+
+const maxCallback = 2000
+
+func main() {
+       var buf bytes.Buffer
+
+       buf.WriteString(`// generated by wincallback.go; run go generate
+
+// runtime·callbackasm is called by external code to
+// execute Go implemented callback function. It is not
+// called from the start, instead runtime·compilecallback
+// always returns address into runtime·callbackasm offset
+// appropriately so different callbacks start with different
+// CALL instruction in runtime·callbackasm. This determines
+// which Go callback function is executed later on.
+TEXT runtime·callbackasm(SB),7,$0
+`)
+       for i := 0; i < maxCallback; i++ {
+               buf.WriteString("\tCALL\truntime·callbackasm1(SB)\n")
+       }
+
+       err := ioutil.WriteFile("zcallback_windows.s", buf.Bytes(), 0666)
+       if err != nil {
+               fmt.Fprintf(os.Stderr, "wincallback: %s\n", err)
+               os.Exit(2)
+       }
+}
diff --git a/src/runtime/zcallback_windows.s b/src/runtime/zcallback_windows.s
new file mode 100644 (file)
index 0000000..b9a3a30
--- /dev/null
@@ -0,0 +1,2010 @@
+// generated by wincallback.go; run go generate
+
+// runtime·callbackasm is called by external code to
+// execute Go implemented callback function. It is not
+// called from the start, instead runtime·compilecallback
+// always returns address into runtime·callbackasm offset
+// appropriately so different callbacks start with different
+// CALL instruction in runtime·callbackasm. This determines
+// which Go callback function is executed later on.
+TEXT runtime·callbackasm(SB),7,$0
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
+       CALL    runtime·callbackasm1(SB)
index 057a746bb57cee89be04d4381c20e2c52e47ff17..8aa3da98dd7b23e482c77a200f88c2454f97ae49 100644 (file)
@@ -8,5 +8,5 @@ const goarch_386 = 1
 const goarch_amd64 = 0
 const goarch_amd64p32 = 0
 const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
index a71240726955134cc9dea0202c280dd03b24f862..eb4f31d7cc707b79c9d2604f4e763b81cb033160 100644 (file)
@@ -8,5 +8,5 @@ const goarch_386 = 0
 const goarch_amd64 = 1
 const goarch_amd64p32 = 0
 const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
index 2b6a142bb79131873cbea7224b5736d532d9d77a..c2579e2127a3289e1361ca44eb26295cac62f63b 100644 (file)
@@ -8,5 +8,5 @@ const goarch_386 = 0
 const goarch_amd64 = 0
 const goarch_amd64p32 = 1
 const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
index 4030210050241840b4bbba72446a400feb2f9769..3098bed7a72e45f6acd8a2e800d3734e3f4cce51 100644 (file)
@@ -8,5 +8,5 @@ const goarch_386 = 0
 const goarch_amd64 = 0
 const goarch_amd64p32 = 0
 const goarch_arm = 1
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
similarity index 66%
rename from src/runtime/zgoarch_power64.go
rename to src/runtime/zgoarch_ppc64.go
index cc361f0505e3ab407332df865bfcc506eb88c644..3097322909fb194f2853a5da8455a0ec4a4845fa 100644 (file)
@@ -2,11 +2,11 @@
 
 package runtime
 
-const theGoarch = `power64`
+const theGoarch = `ppc64`
 
 const goarch_386 = 0
 const goarch_amd64 = 0
 const goarch_amd64p32 = 0
 const goarch_arm = 0
-const goarch_power64 = 1
-const goarch_power64le = 0
+const goarch_ppc64 = 1
+const goarch_ppc64le = 0
similarity index 65%
rename from src/runtime/zgoarch_power64le.go
rename to src/runtime/zgoarch_ppc64le.go
index 41294e61b944d55230f35ca6ecdcb4cc85c82906..f4102ac1e1e0a892c4196ba4e5c0ba896f464d07 100644 (file)
@@ -2,11 +2,11 @@
 
 package runtime
 
-const theGoarch = `power64le`
+const theGoarch = `ppc64le`
 
 const goarch_386 = 0
 const goarch_amd64 = 0
 const goarch_amd64p32 = 0
 const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 1
+const goarch_ppc64 = 0
+const goarch_ppc64le = 1
similarity index 99%
rename from src/sync/atomic/asm_power64x.s
rename to src/sync/atomic/asm_ppc64x.s
index 1130d3c1689942634289bddf254917e6d20e23cc..bcd46c5cfff1afe7f193fb134ccc50116fd90e78 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.
 
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
index 43561e20195dd578a388bf074bcbdf866f85bc10..642b0b60ef76064cf95bcac5c77d5aa886ce9e35 100644 (file)
@@ -4,10 +4,10 @@
 
 #include "textflag.h"
 
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
 #define RET RETURN
 #endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
 #define RET RETURN
 #endif
 
similarity index 97%
rename from src/syscall/asm_linux_power64x.s
rename to src/syscall/asm_linux_ppc64x.s
index be8518a4556fdebbf5db0b82cbdf8ff478ee3518..5c47ac0f391a099708600040a9c154b8cb2b5394 100644 (file)
@@ -3,12 +3,12 @@
 // license that can be found in the LICENSE file.
 
 // +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 #include "textflag.h"
 
 //
-// System calls for Power64, Linux
+// System calls for ppc64, Linux
 //
 
 // func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64);
index febd5a2625fc41cc0ce0572cc315eaa1bb9605a4..29991f72fa18efca9981fbd5ff8ee86986f324f4 100755 (executable)
@@ -177,15 +177,15 @@ linux_arm)
        mksysnum="curl -s 'http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/arch/arm/include/uapi/asm/unistd.h' | ./mksysnum_linux.pl"
        mktypes="GOARCH=$GOARCH go tool cgo -godefs"
        ;;
-linux_power64)
-       GOOSARCH_in=syscall_linux_power64x.go
+linux_ppc64)
+       GOOSARCH_in=syscall_linux_ppc64x.go
        unistd_h=/usr/include/asm/unistd.h
        mkerrors="$mkerrors -m64"
        mksysnum="./mksysnum_linux.pl $unistd_h"
        mktypes="GOARCH=$GOARCH go tool cgo -godefs"
        ;;
-linux_power64le)
-       GOOSARCH_in=syscall_linux_power64x.go
+linux_ppc64le)
+       GOOSARCH_in=syscall_linux_ppc64x.go
        unistd_h=/usr/include/powerpc64le-linux-gnu/asm/unistd.h
        mkerrors="$mkerrors -m64"
        mksysnum="./mksysnum_linux.pl $unistd_h"
similarity index 99%
rename from src/syscall/syscall_linux_power64x.go
rename to src/syscall/syscall_linux_ppc64x.go
index fd043627a2e2b116bf496d7fa7b6027d14ba4051..65ba3567b20d51d1cd603cb9168682792c6f25da 100644 (file)
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
 
 package syscall
 
similarity index 99%
rename from src/syscall/zsyscall_linux_power64.go
rename to src/syscall/zsyscall_linux_ppc64.go
index 7808059cc8b76facf8b9803d02057eb2e4bd053a..e78b81349a88105bb38e971b8b3d01e6f3032654 100644 (file)
@@ -1,4 +1,4 @@
-// mksyscall.pl syscall_linux.go syscall_linux_power64x.go
+// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
 package syscall
similarity index 99%
rename from src/syscall/zsyscall_linux_power64le.go
rename to src/syscall/zsyscall_linux_ppc64le.go
index 7808059cc8b76facf8b9803d02057eb2e4bd053a..e78b81349a88105bb38e971b8b3d01e6f3032654 100644 (file)
@@ -1,4 +1,4 @@
-// mksyscall.pl syscall_linux.go syscall_linux_power64x.go
+// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
 // MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 
 package syscall
index 9d65e1e91b6d0ced57642d662fe1a2d6c980eb07..cf26993ef9581a01a790cffe53cb9b1a7b0268e9 100644 (file)
@@ -1,6 +1,6 @@
 // errorcheck -0 -d=nil
-// Fails on power64x because of incomplete optimization.  See issue 9058.
-// +build !power64,!power64le
+// Fails on ppc64x because of incomplete optimization.  See issue 9058.
+// +build !ppc64,!ppc64le
 
 // Copyright 2013 The Go Authors.  All rights reserved.
 // Use of this source code is governed by a BSD-style
index 799f2c533a3e2b4032250a3d4f44ec6824118387..93fb133ebb075988bba0f8ee2c896662bf47ffe1 100644 (file)
@@ -127,7 +127,7 @@ main 136 nosplit; REJECT
 # Calling a nosplit function from a nosplit function requires
 # having room for the saved caller PC and the called frame.
 # Because ARM doesn't save LR in the leaf, it gets an extra 4 bytes.
-# Because Power64 doesn't save LR in the leaf, it gets an extra 8 bytes.
+# Because ppc64 doesn't save LR in the leaf, it gets an extra 8 bytes.
 main 112 nosplit call f; f 0 nosplit
 main 116 nosplit call f; f 0 nosplit
 main 120 nosplit call f; f 0 nosplit; REJECT amd64
@@ -139,7 +139,7 @@ main 136 nosplit call f; f 0 nosplit; REJECT
 # Calling a splitting function from a nosplit function requires
 # having room for the saved caller PC of the call but also the
 # saved caller PC for the call to morestack.
-# Again the ARM and Power64 work in less space.
+# Again the ARM and ppc64 work in less space.
 main 104 nosplit call f; f 0 call f
 main 108 nosplit call f; f 0 call f
 main 112 nosplit call f; f 0 call f; REJECT amd64
@@ -237,7 +237,7 @@ TestCases:
                var buf bytes.Buffer
                ptrSize := 4
                switch goarch {
-               case "power64", "power64le":
+               case "ppc64", "ppc64le":
                        ptrSize = 8
                        fmt.Fprintf(&buf, "#define CALL BL\n#define REGISTER (CTR)\n#define RET RETURN\n")
                case "arm":