- 24 Feb, 2014 2 commits
-
-
Anfernee Yongkun Gui authored
LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/66990045
-
Shenghou Ma authored
Fix build for 10.6 Darwin builders and OpenBSD builers. LGTM=jsing R=golang-codereviews, dave, jsing CC=golang-codereviews https://golang.org/cl/67710043
-
- 23 Feb, 2014 4 commits
-
-
Shenghou Ma authored
Fixes #7223. LGTM=rsc R=golang-codereviews, gobot, rsc CC=golang-codereviews https://golang.org/cl/63040043
-
Shenghou Ma authored
Fix build for Dragonfly BSD. Fixes #7318. Fixes #7367. LGTM=jsing, iant R=jsing, iant, mikioh.mikioh CC=golang-codereviews https://golang.org/cl/64340043
-
Patrick Mézard authored
LGTM=minux.ma, r R=golang-codereviews, minux.ma, r CC=golang-codereviews https://golang.org/cl/67280043
-
Rob Pike authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/64100047
-
- 21 Feb, 2014 5 commits
-
-
Rob Pike authored
Fixes #7361. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/66910045
-
Adam Langley authored
crypto/tls has two functions for creating a client connection: Dial, which most users are expected to use, and Client, which is the lower-level API. Dial does what you expect: it gives you a secure connection to the host that you specify and the majority of users of crypto/tls appear to work fine with it. Client gives more control but needs more care. Specifically, if it wasn't given a server name in the tls.Config then it didn't check that the server's certificates match any hostname - because it doesn't have one to check against. It was assumed that users of the low-level API call VerifyHostname on the certificate themselves if they didn't supply a hostname. A review of the uses of Client both within Google and in a couple of external libraries has shown that nearly all of them got this wrong. Thus, this change enforces that either a ServerName or InsecureSkipVerify is given. This does not affect tls.Dial. See discussion at https://groups.google.com/d/msg/golang-nuts/4vnt7NdLvVU/b1SJ4u0ikb0J. Fixes #7342. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/67010043
-
Russ Cox authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/67010044
-
Russ Cox authored
The old error was "call of reflect.Value.Field on ptr Value". http://play.golang.org/p/Zm-ZbQaPeR LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/67020043
-
Brad Fitzpatrick authored
Generated by addca. R=gobot CC=golang-codereviews https://golang.org/cl/65340044
-
- 20 Feb, 2014 11 commits
-
-
Russ Cox authored
SetPanicOnFault allows recovery from unexpected memory faults. This can be useful if you are using a memory-mapped file or probing the address space of the current program. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/66590044
-
Russ Cox authored
Package runtime's C functions written to be called from Go started out written in C using carefully constructed argument lists and the FLUSH macro to write a result back to memory. For some functions, the appropriate parameter list ended up being architecture-dependent due to differences in alignment, so we added 'goc2c', which takes a .goc file containing Go func declarations but C bodies, rewrites the Go func declaration to equivalent C declarations for the target architecture, adds the needed FLUSH statements, and writes out an equivalent C file. That C file is compiled as part of package runtime. Native Client's x86-64 support introduces the most complex alignment rules yet, breaking many functions that could until now be portably written in C. Using goc2c for those avoids the breakage. Separately, Keith's work on emitting stack information from the C compiler would require the hand-written functions to add #pragmas specifying how many arguments are result parameters. Using goc2c for those avoids maintaining #pragmas. For both reasons, use goc2c for as many Go-called C functions as possible. This CL is a replay of the bulk of CL 15400047 and CL 15790043, both of which were reviewed as part of the NaCl port and are checked in to the NaCl branch. This CL is part of bringing the NaCl code into the main tree. No new code here, just reformatting and occasional movement into .h files. LGTM=r R=dave, alex.brainman, r CC=golang-codereviews https://golang.org/cl/65220044
-
Russ Cox authored
Match used len(ar.files) == 0 to mean "match everything" but it also deleted matched things from the list, so once you had matched everything you asked for, match returned true for whatever was left in the archive too. Concretely, if you have an archive containing f1, f2, then pack t foo.a f1 would match f1 and then, because len(ar.files) == 0 after deleting f1 from the match list, also match f2. Avoid the problem by recording explicitly whether match matches everything. LGTM=r, dsymonds R=r, dsymonds CC=golang-codereviews https://golang.org/cl/65630046
-
Russ Cox authored
The message used to say that there was a type mismatch, which is not necessarily true. TBR=ken2 CC=golang-codereviews https://golang.org/cl/66600044
-
Chris Manghane authored
Fixes #7363. LGTM=gri R=gri, rsc, bradfitz CC=golang-codereviews https://golang.org/cl/66510044
-
Josh Bleecher Snyder authored
The liblink refactor changed the DWARF .debug_line flow control. The mapping was off by one pcline entry. The fix here preserves pc until it can be compared to pcline.pc. Sample dwarfdump .debug_line output for main.main from the program in issue 7351, before liblink (correct): 0x0000003c: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 ) 0x00000047: 03 DW_LNS_advance_line( 6 ) 0x00000049: 01 DW_LNS_copy 0x0000000000002000 1 7 0 is_stmt 0x0000004a: 8b address += 21, line += 1 0x0000000000002021 1 8 0 is_stmt 0x0000004b: 02 DW_LNS_advance_pc( 153 ) 0x0000004e: 03 DW_LNS_advance_line( 1 ) 0x00000050: 01 DW_LNS_copy 0x00000000000020ba 1 9 0 is_stmt After liblink (off by one entry): 0x00001bbf: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 ) 0x00001bca: 02 DW_LNS_advance_pc( 33 ) 0x00001bcc: 03 DW_LNS_advance_line( 6 ) 0x00001bce: 01 DW_LNS_copy 0x0000000000002021 1 7 0 is_stmt 0x00001bcf: 02 DW_LNS_advance_pc( 153 ) 0x00001bd2: 03 DW_LNS_advance_line( 1 ) 0x00001bd4: 01 DW_LNS_copy 0x00000000000020ba 1 8 0 is_stmt 0x00001bd5: 02 DW_LNS_advance_pc( 153 ) 0x00001bd8: 03 DW_LNS_advance_line( 1 ) 0x00001bda: 01 DW_LNS_copy 0x0000000000002153 1 9 0 is_stmt After this CL (the line 9 pc offset changed due to intervening compiler changes): 0x00001d07: 00 Extended: <9> 02 DW_LNE_set_address( 0x0000000000002000 ) 0x00001d12: 03 DW_LNS_advance_line( 6 ) 0x00001d14: 01 DW_LNS_copy 0x0000000000002000 1 7 0 is_stmt 0x00001d15: 8b address += 21, line += 1 0x0000000000002021 1 8 0 is_stmt 0x00001d16: 02 DW_LNS_advance_pc( 189 ) 0x00001d19: 03 DW_LNS_advance_line( 1 ) 0x00001d1b: 01 DW_LNS_copy 0x00000000000020de 1 9 0 is_stmt Fixes #7351. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/66290043
-
David du Colombier authored
Rename should fail when the directory doesn't match. It will fix the newly introduced test from cmd/pack on Plan 9. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/65270044
-
Alex Brainman authored
LGTM=minux.ma R=golang-codereviews, minux.ma CC=golang-codereviews https://golang.org/cl/66470043
-
Rob Pike authored
Try to prevent messages like this: './pack' file does not exist���������������������������������������������������������������������������������������������������� TBR=adonovan LGTM=adonovan R=adonovan CC=golang-codereviews https://golang.org/cl/66270043
-
Alex Brainman authored
otherwise go build command adds .exe suffix Fixes #7362 LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/66250043
-
Rob Pike authored
Plan 9 uses single quotes, not double quotes. I should have known. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/66240043
-
- 19 Feb, 2014 18 commits
-
-
Rob Pike authored
Windows at least doesn't emit one. Maybe fix Windows build. LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/66120046
-
Rob Pike authored
Get more information to help understand build failure on Plan 9. Also Windows. (TestHello is failing because GOCHAR does not appear in output. What does?) Update #7362 LGTM=bradfitz R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/66070044
-
Russ Cox authored
[Repeat of CL 64100044, after 32-bit fix in CL 66170043.] Precisestack makes stack collection completely precise, in the sense that there are no "used and not set" errors in the collection of stack frames, no times where the collector reads a pointer from a stack word that has not actually been initialized with a pointer (possibly a nil pointer) in that function. The most important part is interfaces: precisestack means that if reading an interface value, the interface value is guaranteed to be initialized, meaning that the type word can be relied upon to be either nil or a valid interface type word describing the data word. This requires additional zeroing of certain values on the stack on entry, which right now costs about 5% overall execution time in all.bash. That cost will come down before Go 1.3 (issue 7345). There are at least two known garbage collector bugs right now, issues 7343 and 7344. The first happens even without precisestack. The second I have only seen with precisestack, but that does not mean that precisestack is what causes it. In fact it is very difficult to explain by what precisestack does directly. Precisestack may be exacerbating an existing problem. Both of those issues are marked for Go 1.3 as well. The reasons for enabling precisestack now are to give it more time to soak and because the copying stack work depends on it. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/65820044
-
Russ Cox authored
The code here is being restored after its deletion in CL 14430048. I restored the copy in cmd/6g in CL 56430043 but neglected the other two. This is the reason that enabling precisestack only worked on amd64. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/66170043
-
Russ Cox authored
When Go 1.3 is released, this will keep existing Go 1.2 build scripts that use 'go tool pack grc' working. For efficiency, such scripts should be changed to use 6g -pack instead, but keeping the old behavior available enables a more graceful transition. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/66130043
-
Russ Cox authored
LGTM=bradfitz R=bradfitz CC=golang-codereviews https://golang.org/cl/66160043
-
Rob Pike authored
There are probably more of these, but bound and len are 64 bits so use %lld in message about array index out of bounds. Fixes the 386 build. LGTM=bradfitz, rsc R=rsc, bradfitz CC=golang-codereviews, rickarnoldjr https://golang.org/cl/66110043
-
Rob Pike authored
Taking my own advice from a review of addr2line. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/65950044
-
Russ Cox authored
We never updated libmach for the new object file format, so it the existing 'go tool addr2line' is broken. Reimplement in Go to fix. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/66020043
-
Rick Arnold authored
The error message was previously off by one in all cases. Fixes #7150. LGTM=r R=golang-codereviews, r CC=golang-codereviews https://golang.org/cl/65850043
-
Adam Langley authored
Fixes #6267. LGTM=r, josharian R=golang-codereviews, josharian, r CC=golang-codereviews https://golang.org/cl/61020043
-
Adam Langley authored
Users of the low-level, Client function are frequenctly missing the fact that, unless they pass a ServerName to the TLS connection then it cannot verify the certificates against any name. This change makes it clear that at least one of InsecureSkipVerify and ServerName should always be set. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/65440043
-
Russ Cox authored
Update #6853 For an ephemeral binary - one created, run, and then deleted - there is no need to write dwarf debug information, since the binary will not be used with gdb. In this case, instruct the linker not to spend time and disk space generating the debug information by passing the -w flag to the linker. Omitting dwarf information reduces the size of most binaries by 25%. We may be more aggressive about this in the future. LGTM=bradfitz, r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/65890043
-
Russ Cox authored
Update #6853 Every function now has a gcargs and gclocals symbol holding associated garbage collection information. Put them all in the same meta-symbol as the go.func data and then drop individual entries from symbol table. Removing gcargs and gclocals reduces the size of a typical binary by 10%. LGTM=r R=r CC=golang-codereviews https://golang.org/cl/65870044
-
Rémy Oudompheng authored
Also re-enable race tests in run.bash. Fixes #7334. LGTM=rsc R=rsc, dvyukov, iant, bradfitz, dave CC=golang-codereviews https://golang.org/cl/65740043
-
Rémy Oudompheng authored
Fixes #6500. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/14920053
-
Rob Pike authored
IsNil isn't quite the same as == nil, as this snippet shows: // http://play.golang.org/p/huomslDZgw package main import "fmt" import "reflect" func main() { var i interface{} v := reflect.ValueOf(i) fmt.Println(v.IsValid(), i == nil) fmt.Println(v.IsNil()) } The fact that IsNil panics if you call it with an untyped nil was not apparent. Verbiage added for clarity. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/65480043
-
Russ Cox authored
Update #6853 Nothing reads the Plan 9 symbol table anymore. The last holdout was 'go tool nm', but since being rewritten in Go it uses the standard symbol table for the binary format (ELF, Mach-O, PE) instead. Removing the Plan 9 symbol table saves ~15% disk space on most binaries. Two supporting changes included in this CL: debug/gosym: use Go 1.2 pclntab to synthesize func-only symbol table when there is no Plan 9 symbol table debug/elf, debug/macho, debug/pe: ignore final EOF from ReadAt LGTM=r R=r, bradfitz CC=golang-codereviews https://golang.org/cl/65740045
-