diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd/5l/asm.c | 4 | ||||
-rw-r--r-- | src/cmd/6l/asm.c | 8 | ||||
-rw-r--r-- | src/cmd/8l/asm.c | 8 | ||||
-rwxr-xr-x | src/nacltest.bash | 1 | ||||
-rw-r--r-- | src/pkg/net/net_windows_test.go | 2 | ||||
-rw-r--r-- | src/pkg/runtime/asm_amd64.s | 3 | ||||
-rw-r--r-- | src/pkg/runtime/runtime.c | 12 | ||||
-rw-r--r-- | src/pkg/time/format_test.go | 36 |
8 files changed, 46 insertions, 28 deletions
diff --git a/src/cmd/5l/asm.c b/src/cmd/5l/asm.c index 5e9267b5b..e87921218 100644 --- a/src/cmd/5l/asm.c +++ b/src/cmd/5l/asm.c @@ -599,10 +599,10 @@ asmb(void) if(iself) goto ElfSym; case Hplan9: - symo = HEADR+segtext.len+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; break; ElfSym: - symo = rnd(HEADR+segtext.filelen, INITRND)+rnd(HEADR+segrodata.filelen, INITRND)+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; symo = rnd(symo, INITRND); break; } diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c index e251e32ca..7828e2892 100644 --- a/src/cmd/6l/asm.c +++ b/src/cmd/6l/asm.c @@ -689,10 +689,10 @@ asmb(void) case Hplan9: case Helf: debug['s'] = 1; - symo = HEADR+segtext.len+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; break; case Hdarwin: - symo = rnd(HEADR+segtext.len, INITRND)+rnd(segdata.filelen, INITRND)+machlink; + symo = segdata.fileoff+rnd(segdata.filelen, INITRND)+machlink; break; case Hlinux: case Hfreebsd: @@ -701,11 +701,11 @@ asmb(void) case Hdragonfly: case Hsolaris: case Hnacl: - symo = rnd(HEADR+segtext.len, INITRND)+rnd(segrodata.len, INITRND)+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; symo = rnd(symo, INITRND); break; case Hwindows: - symo = rnd(HEADR+segtext.filelen, PEFILEALIGN)+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; symo = rnd(symo, PEFILEALIGN); break; } diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c index 114a3eb5d..c135dce70 100644 --- a/src/cmd/8l/asm.c +++ b/src/cmd/8l/asm.c @@ -619,17 +619,17 @@ asmb(void) if(iself) goto Elfsym; case Hplan9: - symo = HEADR+segtext.filelen+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; break; case Hdarwin: - symo = rnd(HEADR+segtext.filelen, INITRND)+rnd(segdata.filelen, INITRND)+machlink; + symo = segdata.fileoff+rnd(segdata.filelen, INITRND)+machlink; break; Elfsym: - symo = rnd(HEADR+segtext.filelen, INITRND)+rnd(HEADR+segrodata.filelen, INITRND)+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; symo = rnd(symo, INITRND); break; case Hwindows: - symo = rnd(HEADR+segtext.filelen, PEFILEALIGN)+segdata.filelen; + symo = segdata.fileoff+segdata.filelen; symo = rnd(symo, PEFILEALIGN); break; } diff --git a/src/nacltest.bash b/src/nacltest.bash index 33fc8c1c4..e5bbb4b68 100755 --- a/src/nacltest.bash +++ b/src/nacltest.bash @@ -45,6 +45,7 @@ if [ ! -f make.bash ]; then exit 1 fi GOOS=$GOHOSTOS GOARCH=$GOHOSTARCH ./make.bash +unset GOROOT # Build zip file embedded in package syscall. gobin=${GOBIN:-$(pwd)/../bin} diff --git a/src/pkg/net/net_windows_test.go b/src/pkg/net/net_windows_test.go index 2f57745e3..750a4304b 100644 --- a/src/pkg/net/net_windows_test.go +++ b/src/pkg/net/net_windows_test.go @@ -16,6 +16,8 @@ import ( ) func TestAcceptIgnoreSomeErrors(t *testing.T) { + t.Skip("skipping temporarily, see issue 8662") + recv := func(ln Listener) (string, error) { c, err := ln.Accept() if err != nil { diff --git a/src/pkg/runtime/asm_amd64.s b/src/pkg/runtime/asm_amd64.s index 3c7eaf343..2e2886609 100644 --- a/src/pkg/runtime/asm_amd64.s +++ b/src/pkg/runtime/asm_amd64.s @@ -784,7 +784,8 @@ havem: MOVQ BP, -8(DI) LEAQ -(8+8)(DI), SP MOVQ R8, 0(SP) - CALL runtime·cgocallbackg(SB) + MOVQ $runtime·cgocallbackg(SB), AX // hide function call from linker + CALL AX MOVQ 0(SP), R8 // Restore g->sched (== m->curg->sched) from saved values. diff --git a/src/pkg/runtime/runtime.c b/src/pkg/runtime/runtime.c index 3a4f7199e..3b322e0de 100644 --- a/src/pkg/runtime/runtime.c +++ b/src/pkg/runtime/runtime.c @@ -138,8 +138,6 @@ runtime·goenvs_unix(void) syscall·envs.array = (byte*)s; syscall·envs.len = n; syscall·envs.cap = n; - - traceback_cache = ~(uint32)0; } int32 @@ -343,6 +341,16 @@ runtime·parsedebugvars(void) { byte *p; intgo i, n; + bool tmp; + + // gotraceback caches the GOTRACEBACK setting in traceback_cache. + // gotraceback can be called before the environment is available. + // traceback_cache must be reset after the environment is made + // available, in order for the environment variable to take effect. + // The code is fixed differently in Go 1.4. + // This is a limited fix for Go 1.3.3. + traceback_cache = ~(uint32)0; + runtime·gotraceback(&tmp); p = runtime·getenv("GODEBUG"); if(p == nil) diff --git a/src/pkg/time/format_test.go b/src/pkg/time/format_test.go index 3bc8f4294..46a598155 100644 --- a/src/pkg/time/format_test.go +++ b/src/pkg/time/format_test.go @@ -183,39 +183,45 @@ func TestParse(t *testing.T) { } } -func TestParseInSydney(t *testing.T) { - loc, err := LoadLocation("Australia/Sydney") +func TestParseInLocation(t *testing.T) { + // Check that Parse (and ParseInLocation) understand that + // Feb 01 AST (Arabia Standard Time) and Feb 01 AST (Atlantic Standard Time) + // are in different time zones even though both are called AST + + baghdad, err := LoadLocation("Asia/Baghdad") if err != nil { t.Fatal(err) } - // Check that Parse (and ParseInLocation) understand - // that Feb EST and Aug EST are different time zones in Sydney - // even though both are called EST. - t1, err := ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 EST", loc) + t1, err := ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", baghdad) if err != nil { t.Fatal(err) } - t2 := Date(2013, February, 1, 00, 00, 00, 0, loc) + t2 := Date(2013, February, 1, 00, 00, 00, 0, baghdad) if t1 != t2 { - t.Fatalf("ParseInLocation(Feb 01 2013 EST, Sydney) = %v, want %v", t1, t2) + t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad) = %v, want %v", t1, t2) } _, offset := t1.Zone() - if offset != 11*60*60 { - t.Fatalf("ParseInLocation(Feb 01 2013 EST, Sydney).Zone = _, %d, want _, %d", offset, 11*60*60) + if offset != 3*60*60 { + t.Fatalf("ParseInLocation(Feb 01 2013 AST, Baghdad).Zone = _, %d, want _, %d", offset, 3*60*60) + } + + blancSablon, err := LoadLocation("America/Blanc-Sablon") + if err != nil { + t.Fatal(err) } - t1, err = ParseInLocation("Jan 02 2006 MST", "Aug 01 2013 EST", loc) + t1, err = ParseInLocation("Jan 02 2006 MST", "Feb 01 2013 AST", blancSablon) if err != nil { t.Fatal(err) } - t2 = Date(2013, August, 1, 00, 00, 00, 0, loc) + t2 = Date(2013, February, 1, 00, 00, 00, 0, blancSablon) if t1 != t2 { - t.Fatalf("ParseInLocation(Aug 01 2013 EST, Sydney) = %v, want %v", t1, t2) + t.Fatalf("ParseInLocation(Feb 01 2013 AST, Blanc-Sablon) = %v, want %v", t1, t2) } _, offset = t1.Zone() - if offset != 10*60*60 { - t.Fatalf("ParseInLocation(Aug 01 2013 EST, Sydney).Zone = _, %d, want _, %d", offset, 10*60*60) + if offset != -4*60*60 { + t.Fatalf("ParseInLocation(Feb 01 2013 AST, Blanc-Sablon).Zone = _, %d, want _, %d", offset, -4*60*60) } } |