mirror of
https://github.com/golang/go
synced 2024-11-18 15:54:42 -07:00
cf932cd897
This CL removes the remaining visible uses of the "architecture letter" concept. (They are no longer in tool names nor in source directory names.) Because the architecture letter concept is now gone, delete GOCHAR from "go env" output, and change go/build.ArchChar to return an error always. The architecture letter is still used in the compiler and linker sources as a clumsy architecture enumeration, but that use is not visible to Go users and can be cleaned up separately. Change-Id: I4d97a38f372003fb610c9c5241bea440d9dbeb8d Reviewed-on: https://go-review.googlesource.com/10289 Reviewed-by: Rob Pike <r@golang.org>
147 lines
8.4 KiB
Plaintext
147 lines
8.4 KiB
Plaintext
Overall:
|
|
- toolchain in Go
|
|
- new GC
|
|
- go tool asm, go tool compile, go tool link
|
|
- default output files changed: now file.o and a.out
|
|
|
|
Language:
|
|
- permit omission of key type in map composite literals where key is a composite literal (https://golang.org/cl/2591)
|
|
|
|
Build:
|
|
- Go 1.4 required to build (https://golang.org/cl/2470, https://golang.org/cl/2993)
|
|
|
|
New Ports:
|
|
- darwin/arm, a.k.a iOS. (https://golang.org/cl/2118, 2119, 3273, 2121, 2122, ..., 2127)
|
|
- darwin/arm64
|
|
- linux/arm64 (cgo is supported, but only with external linking)
|
|
- openbsd/arm (no cgo or external linking)
|
|
|
|
Removed Ports:
|
|
- dragonfly/386 (https://golang.org/cl/7543)
|
|
- The port to Snow Leopard (OS X 10.6) is no longer actively maintained.
|
|
|
|
Runtime:
|
|
- goroutine scheduling order changed; never guaranteed by language,
|
|
but can break tests that implicitly assume a specific execution
|
|
order
|
|
|
|
API additions and behavior changes:
|
|
|
|
archive/zip: add (*Writer).SetOffset method (https://golang.org/cl/7445)
|
|
bufio: add Reader.Discard (https://golang.org/cl/2260)
|
|
bytes: add Buffer.Cap (https://golang.org/cl/8342)
|
|
bytes, strings: add Reader.Size (https://golang.org/cl/3199)
|
|
bytes, strings: add LastIndexByte (https://golang.org/cl/9500)
|
|
crypto/cipher: clarify what will happen if len(src) != len(dst) for the Stream interface. (https://golang.org/cl/1754)
|
|
crypto/elliptic: add Name field to CurveParams struct (https://golang.org/cl/2133)
|
|
crypto/elliptic: Unmarshaling points now automatically checks that the point is on the curve (https://golang.org/cl/2421)
|
|
crypto/tls: change default minimum version to TLS 1.0. (https://golang.org/cl/1791)
|
|
crypto/tls: including Certificate Transparency SCTs in the handshake is now supported (https://golang.org/cl/8988)
|
|
crypto/tls: session ticket keys can now be rotated at runtime (https://golang.org/cl/9072)
|
|
crypto/tls: servers will now always call GetCertificate to pick a certificate for a connection when Certificates is empty (https://golang.org/cl/8792)
|
|
crypto/x509: wildcards are now only accepted as the first label (https://golang.org/cl/5691)
|
|
crypto/x509: unknown critical extensions now cause errors in Verify, not when parsing (https://golang.org/cl/9390)
|
|
database/sql: add Stats (https://golang.org/cl/7950)
|
|
encoding/base64: add unpadded encodings (https://golang.org/cl/1511)
|
|
flag: new nicer format for PrintDefaults (https://golang.org/cl/7330)
|
|
fmt: empty slices now print nothing with %x (bug fix) (https://golang.org/cl/8864)
|
|
fmt: reflect.Value now prints what it holds (https://golang.org/cl/8731)
|
|
go/ast: add Implicit field to ast.EmptyStmt; changed meaning of ast.EmptyStmt.Semicolon position (https://golang.org/cl/5720)
|
|
go/build: reserved GOARCHes for common architectures (https://golang.org/cl/9644)
|
|
io: add CopyBuffer, Copy with user-provided buffer (https://golang.org/cl/8730)
|
|
log: add SetOutput functions (https://golang.org/cl/2686, https://golang.org/cl/3023)
|
|
log: add LUTC flag (https://golang.org/cl/8761)
|
|
math/big: add arbitrary precision Floats (many cl's)
|
|
math/big: add Jacobi and Int.ModSqrt (https://golang.org/cl/1886)
|
|
mime: add ExtensionByType (https://golang.org/cl/7444)
|
|
mime/quotedprintable: new package (https://golang.org/cl/5940 + others)
|
|
net: add Source field to OpError (https://go-review.googlesource.com/9231)
|
|
net: fix inconsistent errors (https://golang.org/cl/9236)
|
|
net: add SocketConn, SocketPacketConn (https://golang.org/cl/9275)
|
|
net/http: support for setting trailers from a server Handler (https://golang.org/cl/2157)
|
|
net/http: ignore the Unix epoch time in ServeContent (https://golang.org/cl/7915)
|
|
net/http/cgi: fix REMOTE_ADDR, REMOTE_HOST, add REMOTE_PORT (https://golang.org/cl/4933)
|
|
net/smtp: add TLSConnectionState accessor (https://golang.org/cl/2151)
|
|
os: add LookupEnv (https://golang.org/cl/9791)
|
|
os/signal: add Ignore and Reset (https://golang.org/cl/3580)
|
|
reflect: add ArrayOf (https://golang.org/cl/4111)
|
|
reflect: add FuncOf (https://golang.org/cl/1996)
|
|
runtime, syscall: use SYSCALL instruction on FreeBSD (Go 1.5 now requires FreeBSD 8-STABLE+) (https://golang.org/cl/3020)
|
|
runtime, syscall: use get_random_bytes syscall for NaCl (Go 1.5 now requires NaCl SDK pepper-39 or above) (https://golang.org/cl/1755)
|
|
runtime/pprof: memory profiles include overall memory statistics by default (https://golang.org/cl/9491)
|
|
strings: add Compare(x, y string) int, for symmetry with bytes.Compare (https://golang.org/cl/2828)
|
|
syscall: Add Foreground and Pgid to SysProcAttr (https://golang.org/cl/5130)
|
|
syscall: add missing Syscall9 for darwin/amd64 (https://golang.org/cl/6555)
|
|
testing/quick: support generation of arrays (https://golang.org/cl/3865)
|
|
text/template: add Options method (https://golang.org/cl/8462)
|
|
text/template: huge integers are now parse errors (https://golang.org/cl/9651)
|
|
time: add time.AppendFormat(https://golang.org/cl/1760)
|
|
|
|
Tools:
|
|
|
|
build: external linking support for windows (https://golang.org/cl/7163, 7282, 7283, 7284, 7534, 7535)
|
|
cmd/cover: tool now lives in the standard repository (https://golang.org/cl/9560)
|
|
cmd/gc: constant arithmetic is based on math/big (https://golang.org/cl/7830, 7851, 7857, 8426, 7858, 7912, 8171)
|
|
cmd/go, go/build: add ${SRCDIR} variable expansion to cgo lines (https://golang.org/cl/1756)
|
|
cmd/go: add $DOLLAR to generate's variables (https://golang.org/cl/8091)
|
|
cmd/go: std wildcard now excludes commands in main repo (https://golang.org/cl/5550)
|
|
cmd/go: .swig/.swigcxx files now require SWIG 3.0.6 or later
|
|
cmd/go: add -run flag to go generate (https://golang.org/cl/9005)
|
|
cmd/go: add $GOLINE to generate's variables (https://golang.org/cl/9007)
|
|
cmd/go: add go doc (https://golang.org/cl/9227)
|
|
cmd/vet: better validation of struct tags (https://golang.org/cl/2685)
|
|
cmd/ld: no longer record build timestamp in Windows PE file header (https://golang.org/cl/3740)
|
|
cmd/go: add -toolexec build option
|
|
cmd/go: drop -ccflags build option
|
|
cmd/go: add -asmflags build option
|
|
cmd/go: add -buildmode build option
|
|
cmd/gc: add -dynlink option (for amd64 only)
|
|
cmd/ld: add -buildmode option
|
|
cmd/trace: new command to view traces (https://golang.org/cl/3601)
|
|
|
|
Performance:
|
|
|
|
cmd/gc: evaluate concrete == interface without allocating (https://golang.org/cl/2096)
|
|
cmd/gc: optimize memclr of slices and arrays (https://golang.org/cl/2520)
|
|
cmd/gc: transform closure calls to function calls (https://golang.org/cl/4050)
|
|
cmd/gc: transitive inlining (https://golang.org/cl/5952)
|
|
cmd/gc, runtime: speed up some cases of _, ok := i.(T) (https://golang.org/cl/7697)
|
|
cmd/gc: speed up large string switches (https://golang.org/cl/7698)
|
|
cmd/gc: inline x := y.(*T) and x, ok := y.(*T) (https://golang.org/cl/7862)
|
|
cmd/gc: allocate backing storage for non-escaping interfaces on stack (https://golang.org/cl/8201)
|
|
encoding/xml: avoid an allocation for tags without attributes (https://golang.org/cl/4160)
|
|
image: many optimizations
|
|
runtime: add ARM runtime.cmpstring and bytes.Compare (https://golang.org/cl/8010)
|
|
runtime: do not scan maps when k/v do not contain pointers (https://golang.org/cl/3288)
|
|
runtime: reduce thrashing of gs between ps (https://golang.org/cl/9872)
|
|
sort: number of Sort performance optimizations (https://golang.org/cl/2100, https://golang.org/cl/2614, ...)
|
|
strconv: optimize decimal to string conversion (https://golang.org/cl/2105)
|
|
strconv: optimize float to string conversion (https://golang.org/cl/5600)
|
|
sync: add active spinning to Mutex (https://golang.org/cl/5430)
|
|
math/big: faster assembly kernels for amd64 and 386 (https://golang.org/cl/2503, https://golang.org/cl/2560)
|
|
math/big: faster "pure Go" kernels for platforms w/o assembly kernels (https://golang.org/cl/2480)
|
|
regexp: port RE2's bitstate backtracker to the regexp package (https://golang.org/cl/2153)
|
|
|
|
Assembler:
|
|
|
|
New cmd/asm tool (now use go tool asm, not go tool 6a)
|
|
|
|
Assembler now supports -dynlink option.
|
|
|
|
ARM assembly syntax has had some features removed.
|
|
|
|
- mentioning SP or PC as a hardware register
|
|
These are always pseudo-registers except that in some contexts
|
|
they're not, and it's confusing because the context should not affect
|
|
which register you mean. Change the references to the hardware
|
|
registers to be explicit: R13 for SP, R15 for PC.
|
|
- constant creation using assignment
|
|
The files say a=b when they could instead say #define a b.
|
|
There is no reason to have both mechanisms.
|
|
- R(0) to refer to R0.
|
|
Some macros use this to a great extent. Again, it's easy just to
|
|
use a #define to rename a register.
|
|
|
|
Also expression evaluation now uses uint64s instead of signed integers and the
|
|
precedence of operators is now Go-like rather than C-like.
|