- 05 Mar, 2012 27 commits
-
-
Shenghou Ma authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5727068
-
Shenghou Ma authored
CL 3075041 says ARM is not little-endian, but my test suggests otherwise. My test program is: package main import ("fmt"; "syscall"; "os") func main() { err := syscall.Fallocate(1, 1/*FALLOC_FL_KEEP_SIZE*/, 0, int64(40960)); fmt.Fprintln(os.Stderr, err) } Without this CL, ./test > testfile will show: file too large; and strace shows: fallocate(1, 01, 0, 175921860444160) = -1 EFBIG (File too large) With this CL, ./test > testfile will show: <nil>; and strace shows: fallocate(1, 01, 0, 40960) = 0 Quoting rsc: "[It turns out that] ARM syscall ABI requires 64-bit arguments to use an (even, odd) register pair, not an (odd, even) pair. Switching to "big-endian" worked because it ended up using the high 32-bits (always zero in the tests we had) as the padding word, because the 64-bit argument was the last one, and because we fill in zeros for the rest of the system call arguments, up to six. So it happened to work." I updated mksyscall_linux.pl to accommodate the register pair ABI requirement, and removed all hand-tweaked syscall routines in favor of the auto-generated ones. These including: Ftruncate, Truncate, Pread and Pwrite. Some recent Linux/ARM distributions do not bundle kernel asm headers, so instead we always get latest asm/unistd.h from git.kernel.org (just like what we do for FreeBSD). R=ken, r, rsc, r, dave, iant CC=golang-dev https://golang.org/cl/5726051
-
Brad Fitzpatrick authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5726062
-
Rémy Oudompheng authored
Fixes #3196. R=golang-dev, rsc CC=golang-dev, remy https://golang.org/cl/5725044
-
Russ Cox authored
R=lvd, gri CC=golang-dev https://golang.org/cl/5731061
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5728064
-
Paul Borman authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5729068
-
Russ Cox authored
Fixes #3189. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5730058
-
Russ Cox authored
Fixes #3191. Sorry. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5726059
-
Adam Langley authored
An X.509 path length constrains the number of certificate that may follow in the chain. This is a little simplistic for a first pass as it doesn't check self-signed certificates (which don't count towards the length), but it's conservatively simplistic. R=golang-dev, r CC=golang-dev https://golang.org/cl/5727057
-
Adam Langley authored
asn1 didn't have an omitempty tag, so the list of additional primes in an RSA private key was serialised as an empty SEQUENCE, even for version 1 structures. This tripped up external code that didn't handle v2. R=golang-dev, r CC=golang-dev https://golang.org/cl/5729062
-
Adam Langley authored
UTCTime only has a two digit date field and year values from 50 should be 1950, not 2050. R=golang-dev, r, rsc CC=golang-dev https://golang.org/cl/5729063
-
Shenghou Ma authored
R=rsc, golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5732053
-
Mikio Hara authored
This CL changes the behavior of Dial and Listen API family. Previous Dial and Listen allow a combo of "tcp6" and IPv4 or IPv6 IPv4-mapped address as its argument, but it also makes slightly different behaviors between Linux and other platforms. This CL fixes such differences across over platforms by tweaking IP-level socket option IPV6_V6ONLY. Consequently new Dial and Listen API family will reject arguments consists of "tcp6" and IPv4 or IPv6 IPv4-mapped address. This CL also adds a bit clarified unicast listener tests. Fixes #2581. R=rsc, minux.ma CC=golang-dev https://golang.org/cl/5677086
-
Russ Cox authored
The motivation for this CL is to support $GOPATH well. Since we already have a FileSystem interface, implement a Plan 9-style name space. Bind each of the $GOPATH src directories onto the $GOROOT src/pkg directory: now everything is laid out exactly like a normal $GOROOT and needs very little special case code. The filter files are no longer used (by us), so I think they can just be deleted. Similarly, the Mapping code and the FileSystem interface were two different ways to accomplish the same end, so delete the Mapping code. Within the implementation, since FileSystem is defined to be slash-separated, use package path consistently, leaving path/filepath only for manipulating operating system paths. I kept the -path flag, but I think it can be deleted too. Fixes #2234. Fixes #3046. R=gri, r, r, rsc CC=golang-dev https://golang.org/cl/5711058
-
Stefan Nilsson authored
The current package comment doesn't mention varints and protocol buffers. Also, the first sentence is incomprehensible without further context as "fixed-size values" is undefined. R=rsc CC=golang-dev https://golang.org/cl/5715048
-
Volker Dobler authored
R=golang-dev, adg CC=golang-dev https://golang.org/cl/5729065
-
Andrew Gerrand authored
R=golang-dev CC=golang-dev https://golang.org/cl/5730053
-
Andrew Gerrand authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5732059
-
Andrew Gerrand authored
R=golang-dev, dsymonds, bradfitz, minux.ma CC=golang-dev https://golang.org/cl/5732058
-
Andrew Gerrand authored
R=golang-dev, kyle, r CC=golang-dev https://golang.org/cl/5728055
-
Andrew Gerrand authored
R=golang-dev, kyle, r, bradfitz CC=golang-dev https://golang.org/cl/5729053
-
Andrew Gerrand authored
R=golang-dev, minux.ma, r CC=golang-dev https://golang.org/cl/5728051
-
Andrew Gerrand authored
R=golang-dev, r, minux.ma CC=golang-dev https://golang.org/cl/5738045
-
Rob Pike authored
Fixes #3076. R=golang-dev, dsymonds, r CC=golang-dev https://golang.org/cl/5727056
-
Rob Pike authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5729061
-
Shenghou Ma authored
We have 'gofmt' and 'go fmt', but not 'go tool fmt'. R=golang-dev, kyle, r CC=golang-dev https://golang.org/cl/5739043
-
- 04 Mar, 2012 8 commits
-
-
Scott Lawrence authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5730051
-
Dave Cheney authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5727052
-
Andrew Gerrand authored
R=golang-dev, kyle, r CC=golang-dev https://golang.org/cl/5729052
-
Mikio Hara authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5727054
-
Francisco Souza authored
Fixes #3177 R=adg CC=golang-dev https://golang.org/cl/5728057
-
Andrew Gerrand authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5732056
-
Francisco Souza authored
Fixes #3176. R=golang-dev, adg CC=golang-dev https://golang.org/cl/5737043
-
Andrew Gerrand authored
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5729054
-
- 03 Mar, 2012 5 commits
-
-
Andrew Gerrand authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5731056
-
Rob Pike authored
Missed a case for variadic functions with too few arguments. The code passes, and with the right error, but might as well record the test case. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5732050
-
Rob Pike authored
The recent addition of automatic function invocation generated some troublesome ambiguities. Restore the previous behavior and compensate by providing a "call" builtin to make it easy to do what the automatic invocation did, but in a clear and explicit manner. Fixes #3140. At least for now. R=golang-dev, dsymonds, r CC=golang-dev https://golang.org/cl/5720065
-
Russ Cox authored
I tried before to make relative imports work by simply invoking the compiler in the right directory, so that an import of ./foo could be resolved by ./foo.a. This required creating a separate tree of package binaries that included the full path to the source directory, so that /home/gopher/bar.go would be compiled in tmpdir/work/local/home/gopher and perhaps find a ./foo.a in that directory. This model breaks on Windows because : appears in path names but cannot be used in subdirectory names, and I missed one or two places where it needed to be removed. The model breaks more fundamentally when compiling a test of a package that lives outside the Go path, because we effectively use a ./ import in the generated testmain, but there we want to be able to resolve the ./ import of the test package to one directory and all the other ./ imports to a different directory. Piggybacking on the compiler's current working directory is then no longer possible. Instead, introduce a new compiler option -D prefix that makes the compiler turn a ./ import into prefix+that, so that import "./foo" with -D a/b/c turns into import "a/b/c/foo". Then we can invent a package hierarchy "_/" with subdirectories named for file system paths: import "./foo" in the directory /home/gopher becomes import "_/home/gopher/foo", and since that final path is just an ordinary import now, all the ordinary processing works, without special cases. We will have to change the name of the hierarchy if we ever decide to introduce a standard package with import path "_", but that seems unlikely, and the detail is known only in temporary packages that get thrown away at the end of a build. Fixes #3169. R=golang-dev, r CC=golang-dev https://golang.org/cl/5732045
-
Andrew Gerrand authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5726047
-