Commit Graph

1844 Commits

Author SHA1 Message Date
Ian Lance Taylor 0417872809 cmd/cgo: ignore vars with no name or type if they have a AttrSpecification
Fixes #13344.

Change-Id: I33c6721fd33d144c85c87840ddf27ce15aa72328
Reviewed-on: https://go-review.googlesource.com/17151
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
2015-11-23 04:04:07 +00:00
Mohit Agarwal 54bd5a71d3 misc/cgo/testshared: add format specifier in Errorf calls
Found by cmd/vet

Change-Id: I29dd207ecd40fe703054e8ad4e81b3267ca89da2
Reviewed-on: https://go-review.googlesource.com/17160
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-21 10:19:16 +00:00
Ian Lance Taylor 5005a33987 cmd/cgo: put the real C function in the dynamic symbol table
In the past, cgo generated Go code and C code.  The C code was linked
into a shared library.  The Go code was built into an executable that
dynamically linked against that shared library.  C wrappers were
exported from the shared library, and the Go code called them.

It was all a long time ago, but in order to permit C code to call back
into Go, somebody implemented #pragma dynexport (https://golang.org/cl/661043)
to export a Go symbol into the dynamic symbol table.  Then that same
person added code to cgo to recognize //export comments
(https://golang.org/cl/853042).  The //export comments were implemented
by generating C code, to be compiled by GCC, that would refer to C code,
to be compiled by 6c, that would call the Go code.  The GCC code would
go into a shared library.  The code compiled by 6c would be in the Go
executable.  The GCC code needed to refer to the 6c code, so the 6c
function was marked with #pragma dynexport.  The important point here is
that #pragma dynexport was used to expose an internal detail of the
implementation of an exported function, because at the time it was
necessary.

Moving forward to today, cgo no longer generates a shared library and 6c
no longer exists.  It's still true that we have a function compiled by
GCC that refers to a wrapper function now written in Go.  In the normal
case today we are doing an external link, and we use a
//go:cgo_export_static function to make the Go wrapper function visible
to the C code under a known name.

The #pragma dynexport statement has become a //go:cgo_export_dynamic
comment on the Go code.  That comment only takes effect when doing
internal linking.  The comment tells the linker to put the symbol in the
dynamic symbol table.  That still makes sense for the now unusual case
of using internal linking with a shared library.

However, all the changes to this code have carefully preserved the
property that the //go:cgo_export_dynamic comment refers to an internal
detail of the implementation of an exported function.  That was
necessary a long time ago, but no longer makes sense.

This CL changes the code to put the actual C-callable function into the
dynamic symbol table.  I considered dropping the comment entirely, but
it turns out that there is even a test for this, so I preserved it.

Change-Id: I66a7958e366e5974363099bfaa6ba862ca327849
Reviewed-on: https://go-review.googlesource.com/17061
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
2015-11-20 00:19:07 +00:00
Ian Lance Taylor 0e2c635788 cmd/cgo, runtime: exported Go functions can't return a Go pointer
Update #12416.

Change-Id: Iccbcb12709d1ca9bea87274f44f93cfcebadb070
Reviewed-on: https://go-review.googlesource.com/17048
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-19 18:28:39 +00:00
Ian Lance Taylor be1ef46775 runtime: add optional expensive check for invalid cgo pointer passing
If you set GODEBUG=cgocheck=2 the runtime package will use the write
barrier to detect cases where a Go program writes a Go pointer into
non-Go memory.  In conjunction with the existing cgo checks, and the
not-yet-implemented cgo check for exported functions, this should
reliably detect all cases (that do not import the unsafe package) in
which a Go pointer is incorrectly shared with C code.  This check is
optional because it turns on the write barrier at all times, which is
known to be expensive.

Update #12416.

Change-Id: I549d8b2956daa76eac853928e9280e615d6365f4
Reviewed-on: https://go-review.googlesource.com/16899
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-16 18:39:06 +00:00
Ian Lance Taylor 754f707f5f cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking
Change the linker to use a copy of the C compiler support library,
libgcc.a, when doing internal linking.  This will be used to satisfy any
undefined symbols referenced by host objects.

Change the dist tool to copy the support library into a new directory
tree under GOROOT/pkg/libgcc.  This ensures that libgcc is available
even when building Go programs on a system that has no C compiler.  The
C compiler is required when building the Go installation in the first
place, but is not required thereafter.

Change the go tool to not link libgcc into cgo objects.

Correct the linker handling of a weak symbol in an ELF input object to
not always create a new symbol, but to use an existing symbol if there
is one; this is necessary on freebsd-amd64, where libgcc contains a weak
definition of compilerrt_abort_impl.

Fixes #9510.

Change-Id: I1ab28182263238d9bcaf6a42804e5da2a87d8778
Reviewed-on: https://go-review.googlesource.com/16741
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-14 18:56:17 +00:00
Brad Fitzpatrick 9f38d66857 misc/sortac: add tool to sort the AUTHORS and CONTRIBUTORS files
I keep losing this utility, used as part of other tools to auto-update
the AUTHORS and CONTRIBUTORS files.  Check it in to the repo so I
don't lose it, and so others can use it as well.

Updates #12042

Change-Id: Ib5886b85799087aaaddcec4c81169e2726322c05
Reviewed-on: https://go-review.googlesource.com/16824
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-12 17:07:09 +00:00
Ian Lance Taylor 880a689124 runtime: don't call msanread when running on the system stack
The runtime is not instrumented, but the calls to msanread in the
runtime can sometimes refer to the system stack.  An example is the call
to copy in stkbucket in mprof.go.  Depending on what C code has done,
the system stack may appear uninitialized to msan.

Change-Id: Ic21705b9ac504ae5cf7601a59189302f072e7db1
Reviewed-on: https://go-review.googlesource.com/16660
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-11 06:04:04 +00:00
Ian Lance Taylor 8f3f2ccac0 runtime: mark cgo callback results as written for msan
This is a fix for the -msan option when using cgo callbacks.  A cgo
callback works by writing out C code that puts a struct on the stack and
passes the address of that struct into Go.  The result parameters are
fields of the struct.  The Go code will write to the result parameters,
but the Go code thinks it is just writing into the Go stack, and
therefore won't call msanwrite.  This CL adds a call to msanwrite in the
cgo callback code so that the C knows that results were written.

Change-Id: I80438dbd4561502bdee97fad3f02893a06880ee1
Reviewed-on: https://go-review.googlesource.com/16611
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-11 05:58:19 +00:00
Ian Lance Taylor d841860f43 misc/cgo/test: disable Test10303 for gccgo
When using gccgo it's OK if a pointer passed to C remains on the stack.
Gccgo does not have the clear distinction between C and Go stacks.

Change-Id: I3af9dd6fe078214ab16d9d8dad2d206608d7891d
Reviewed-on: https://go-review.googlesource.com/16774
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
2015-11-11 01:02:35 +00:00
Ian Lance Taylor 9dcc58c3d1 cmd/cgo, runtime: add checks for passing pointers from Go to C
This implements part of the proposal in issue 12416 by adding dynamic
checks for passing pointers from Go to C.  This code is intended to be
on at all times.  It does not try to catch every case.  It does not
implement checks on calling Go functions from C.

The new cgo checks may be disabled using GODEBUG=cgocheck=0.

Update #12416.

Change-Id: I48de130e7e2e83fb99a1e176b2c856be38a4d3c8
Reviewed-on: https://go-review.googlesource.com/16003
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-10 22:22:10 +00:00
Ian Lance Taylor 2fdff9586b cmd/go: always use --whole-archive for gccgo packages
This is, in effect, what the gc toolchain does.  It fixes cases where Go
code refers to a C global variable; without this, if the global variable
was the only thing visible in the C code, the generated cgo file might
not get pulled in from the archive, leaving the Go variable
uninitialized.

This was reported against gccgo as https://gcc.gnu.org/PR68255 .

Change-Id: I3e769dd174f64050ebbff268fbbf5e6fab1e2a1b
Reviewed-on: https://go-review.googlesource.com/16775
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-10 20:22:13 +00:00
Michael Hudson-Doyle 07a6cbf58a cmd/dist, cmd/go, misc/cgo/testshared: update testshared and run it on arm
And enable PIE in cmd/go because that's all it seems to take.

Change-Id: Ie017f427ace5e91de333a9f7cba9684c4641dfd5
Reviewed-on: https://go-review.googlesource.com/14222
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-11-10 19:57:30 +00:00
Mohit Agarwal 8e848ba653 misc/cgo/testsanitizers: fix check for existence of clang
The current mechanism fails if clang cannot be executed by the current
user.  Using the `-x` operator for `test` return TRUE if the file is
executable by the user.

Change-Id: I0f3c8dc3880c1ce5a8a833ff3109eb96853184af
Reviewed-on: https://go-review.googlesource.com/16752
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-11-10 03:58:52 +00:00
David Crawshaw afab771696 misc/ios: keep whole buffer in go_darwin_arm_exec
The existing go_darwin_arm_exec.go script does not work with Xcode 7,
not due to any significant changes, but just ordering and timing of
statements from lldb. Unfortunately the current design of
go_darwin_arm_exec.go makes it not obvious what gets stuck where, so
this moves from a moving buffer window to a complete buffer of the
lldb output.

The result is easier code to follow, and it works with Xcode 7.

Updates #12660.

Change-Id: I3b8b890b0bf4474119482e95d84e821a86d1eaed
Reviewed-on: https://go-review.googlesource.com/16634
Reviewed-by: Michael Matloob <matloob@golang.org>
2015-11-04 20:00:35 +00:00
Ian Lance Taylor 9179c9cb5c cmd/compile: make sure instrumented call has type width
The width of the type of an external variable defined with a type
literal may not be set when the instrumentation pass is run.  There are
two cases in the standard library that fail without the call to dowidth:

../../../src/encoding/base32/base32.go:322: constant -1000000000 overflows uintptr
../../../src/encoding/base32/base32.go:329: constant -1000000000 overflows uintptr
../../../src/encoding/json/encode.go:385: constant -1000000000 overflows uintptr
../../../src/encoding/json/encode.go:387: constant -1000000000 overflows uintptr

Change-Id: I7c3334f7decdb7488595ffe4090cd262d7334283
Reviewed-on: https://go-review.googlesource.com/16331
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-03 23:42:06 +00:00
Ian Lance Taylor 6326786ce7 misc/cgo/testsanitizers: fix test of whether compiler option works
On older versions of GCC we need to pass a file name before GCC will
report an unrecognized option.

Fixes #13065.

Change-Id: I7ed34c01a006966a446059025f7d10235c649072
Reviewed-on: https://go-review.googlesource.com/16589
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-03 23:35:28 +00:00
Michael Matloob 48155f5440 misc/ios: fix an error when getenv encounters unset variable
The error message should indicate the name of the unset variable,
rather than the value. The value will alwayse be empty.

Change-Id: I6f6c165074dfce857b6523703a890d205423cd28
Reviewed-on: https://go-review.googlesource.com/16555
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-11-03 15:17:35 +00:00
David Crawshaw ab7e82ef3b cmd/go: buildmode=c-shared support for linux/arm64
Change-Id: Ic826dc25b5203b2e9fc253d6fe997e4b41de3789
Reviewed-on: https://go-review.googlesource.com/16453
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-10-29 16:25:37 +00:00
Hyang-Ah Hana Kim 26d0b00536 cmd/go: enable android/amd64 build.
For golang/go#10743

Change-Id: Iec047821147a0e28edebf875fefe25993785702b
Reviewed-on: https://go-review.googlesource.com/15994
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-10-28 20:55:13 +00:00
David Crawshaw b7e4de4b1e cmd/go, cmd/link: -buildmode=pie for linux/amd64
Depends on external linking right now. I have no immediate use for
this, but wanted to check how hard it is to support as android/amd64
is coming and it will require PIE.

Change-Id: I65c6b19159f40db4c79cf312cd0368c2b2527bfd
Reviewed-on: https://go-review.googlesource.com/16072
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-10-23 19:51:55 +00:00
Ian Lance Taylor 029c760c7b cmd/go: if -msan, pass -fsanitize=memory to cgo builds
Also fix the msan_fail test.  It was bogus, since it always aborted one
way or another.

Change-Id: Ic693327d1bddb7bc5c7d859ac047fc93cb9b5b1c
Reviewed-on: https://go-review.googlesource.com/16172
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-10-21 23:52:23 +00:00
Ian Lance Taylor e7ee268292 cmd/go: add -msan option
The -msan option compiles Go code to use the memory sanitizer.  This is
intended for use when linking with C/C++ code compiled with
-fsanitize=memory.  When memory blocks are passed back and forth between
C/C++ and Go, code in both languages will agree as to whether the memory
is correctly initialized or not, and will report errors for any use of
uninitialized memory.

Change-Id: I2dbdbd26951eacb7d84063cfc7297f88ffadd70c
Reviewed-on: https://go-review.googlesource.com/16169
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-10-21 20:30:23 +00:00
Michael Hudson-Doyle 45c06b27a4 cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x
Replace the confusing game where a frame size of $-8 would suppress the
implicit setting up of a stack frame with a nice explicit flag.

The code to set up the function prologue is still a little confusing but better
than it was.

Change-Id: I1d49278ff42c6bc734ebfb079998b32bc53f8d9a
Reviewed-on: https://go-review.googlesource.com/15670
Reviewed-by: Minux Ma <minux@golang.org>
2015-10-18 22:13:30 +00:00
Hyang-Ah Hana Kim ee07504d26 misc/cgo/testcshared: use -pie for android-L.
Also, handle the case where 'read' returns EINVAL instead of EBADF
when the descriptor is not ready. (android 4.4.4/cyanogenmod, nexus7)

Change-Id: I56c5949d27303d44a4fd0de38951b85e20cef167
Reviewed-on: https://go-review.googlesource.com/15810
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-10-13 18:35:03 +00:00
Ian Lance Taylor 6e5ccce87f misc/cgo/test: fix go vet warnings
Fixes these warnings from go vet:
buildid_linux.go:25: no formatting directive in Fatalf call
callback.go:180: arg pc[i] for printf verb %p of wrong type: uintptr
env.go:34: possible misuse of unsafe.Pointer
issue7665.go:22: possible misuse of unsafe.Pointer

Change-Id: I83811b9c10c617139713a626b4a34ab05564d4fe
Reviewed-on: https://go-review.googlesource.com/15802
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-10-13 17:53:20 +00:00
Didier Spezia 9c258c6aa6 cmd/cgo: fix panic on references to non-existing C types
cgo panics in Package.rewriteRef for:

var a = C.enum_test(1)
or
p := new(C.enum_test)

when the corresponding enum type is not defined.

Check nil values for Type fields and issue a proper
error instead.

Fixes #11097
Updates #12160

Change-Id: I5821d29097ef0a36076ec5273125b09846c7d832
Reviewed-on: https://go-review.googlesource.com/15264
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-10-05 22:37:07 +00:00
Ian Lance Taylor f80ff56a7d misc/cgo/testsanitizers: skip test for version of clang before 3.6
I've tested with clang 3.6.  The builder is running 3.5, and fails.

Fixes #12814.

Change-Id: I087fb75c3a24bed7f7fa5e9d7a1444590a316d63
Reviewed-on: https://go-review.googlesource.com/15259
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-10-02 14:17:33 +00:00
Ian Lance Taylor 0c1f0549b8 runtime, runtime/cgo: support using msan on cgo code
The memory sanitizer (msan) is a nice compiler feature that can
dynamically check for memory errors in C code.  It's not useful for Go
code, since Go is memory safe.  But it is useful to be able to use the
memory sanitizer on C code that is linked into a Go program via cgo.
Without this change it does not work, as msan considers memory passed
from Go to C as uninitialized.

To make this work, change the runtime to call the C mmap function when
using cgo.  When using msan the mmap call will be intercepted and marked
as returning initialized memory.

Work around what appears to be an msan bug by calling malloc before we
call mmap.

Change-Id: I8ab7286d7595ae84782f68a98bef6d3688b946f9
Reviewed-on: https://go-review.googlesource.com/15170
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-09-30 22:17:55 +00:00
David Crawshaw cf4527172c misc/ios: skip revoked certificates
Change-Id: If65e5e55b359a61740d2ef185147bb6df90e0b0c
Reviewed-on: https://go-review.googlesource.com/14654
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-09-17 16:25:20 +00:00
Ian Lance Taylor ffd7d31787 runtime: unblock special glibc signals on each thread
Glibc uses some special signals for special thread operations.  These
signals will be used in programs that use cgo and invoke certain glibc
functions, such as setgid.  In order for this to work, these signals
need to not be masked by any thread.  Before this change, they were
being masked by programs that used os/signal.Notify, because it
carefully masks all non-thread-specific signals in all threads so that a
dedicated thread will collect and report those signals (see ensureSigM
in signal1_unix.go).

This change adds the two glibc special signals to the set of signals
that are unmasked in each thread.

Fixes #12498.

Change-Id: I797d71a099a2169c186f024185d44a2e1972d4ad
Reviewed-on: https://go-review.googlesource.com/14297
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-09-14 21:59:54 +00:00
Shenghou Ma 0b5bcf53ee runtime/cgo: explicitly link msvcrt on windows
It's because runtime links to ntdll, and ntdll exports a couple
incompatible libc functions. We must link to msvcrt first and
then try ntdll.

Fixes #12030.

Change-Id: I0105417bada108da55f5ae4482c2423ac7a92957
Reviewed-on: https://go-review.googlesource.com/14472
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-09-12 08:34:52 +00:00
Rob Pike 67ddae87b9 all: use one 'l' when cancelling everywhere except Solaris
Fixes #11626.

Change-Id: I1b70c0844473c3b57a53d7cca747ea5cdc68d232
Reviewed-on: https://go-review.googlesource.com/14526
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-11 18:31:51 +00:00
Michael Hudson-Doyle 5cbca8d84b cmd/internal/ld: put read-only relocated data into .data.rel.ro when making a shared object
Currently Go produces shared libraries that cannot be shared between processes
because they have relocations against the text segment (not text section). This
fixes this by moving some data to sections with magic names recognized by the
static linker.

The change in genasmsym to add STYPELINK to the switch should fix things on
darwin/arm64.

Fixes #10914
Updates #9210

Change-Id: Iab4a6678dd04cec6114e683caac5cf31b1063309
Reviewed-on: https://go-review.googlesource.com/14306
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-09-08 23:34:16 +00:00
Dave Cheney e49b2460a4 Revert "cmd/internal/ld: put read-only relocated data into .data.rel.ro when making a shared object"
This reverts commit 2c2cbb69c8.

Broke darwin/arm64

Change-Id: Ibd2dea475d6ce6a8b4b40e2da19a83fc0514025d
Reviewed-on: https://go-review.googlesource.com/14301
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-09-04 19:47:36 +00:00
Michael Hudson-Doyle 2c2cbb69c8 cmd/internal/ld: put read-only relocated data into .data.rel.ro when making a shared object
Currently Go produces shared libraries that cannot be shared between processes
because they have relocations against the text segment (not text section). This
fixes this by moving some data to sections with magic names recognized by the
static linker.

Fixes #10914
Updates #9210

Change-Id: I7178daadc0ae87953d5a084aa3d580f4e3b46d47
Reviewed-on: https://go-review.googlesource.com/10300
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-09-04 05:25:10 +00:00
Dave Cheney 383a3601dd misc/nacl: fix nacl build
Update testzip.proto to reflect vendoring of golang.org/x/arch.

Change-Id: I532da1100f74d1e9887eb3cf26974660ae818d92
Reviewed-on: https://go-review.googlesource.com/14007
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-08-29 00:12:32 +00:00
Michael Hudson-Doyle abab21b1d1 misc/cgo/testshared: do not run gccgo tests when gccgo is too old
Fixes #12083

Change-Id: I8256739b33cf08d84dec23120d527667de2e6eea
Reviewed-on: https://go-review.googlesource.com/13822
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-08-26 01:19:55 +00:00
Ian Lance Taylor 7904946eeb cmd/cgo: discard trailing zero-sized fields in a non-empty C struct
In order to fix issue #9401 the compiler was changed to add a padding
byte to any non-empty Go struct that ends in a zero-sized field.  That
causes the Go version of such a C struct to have a different size than
the C struct, which can considerable confusion.  Change cgo so that it
discards any such zero-sized fields, so that the Go and C structs are
the same size.

This is a change from previous releases, in that it used to be
possible to refer to a zero-sized trailing field (by taking its
address), and with this change it no longer is.  That is unfortunate,
but something has to change.  It seems better to visibly break
programs that do this rather than to silently break programs that rely
on the struct sizes being the same.

Update #9401.
Fixes #11925.

Change-Id: I3fba3f02f11265b3c41d68616f79dedb05b81225
Reviewed-on: https://go-review.googlesource.com/12864
Reviewed-by: Russ Cox <rsc@golang.org>
2015-07-30 15:55:25 +00:00
Andrew Gerrand 1421bc10a4 misc/makerelease: delete
This is now superseded by golang.org/x/build/cmd/release.

Fixes #8472

Change-Id: I59664d84996a0fbb5c90582a4702714b3b3cf302
Reviewed-on: https://go-review.googlesource.com/12500
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-22 09:18:33 +00:00
Ingo Krabbe 2e38b3511a misc/cgo/testsovar: needs the `extern` keyword to export variables on non-windows platforms
Change-Id: I87fa25214fbf24469148a63f4e1e61e261105c16
Reviewed-on: https://go-review.googlesource.com/12470
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-07-21 18:10:57 +00:00
Michael Hudson-Doyle 1125cd4997 cmd/compile: define func value symbols at declaration
This is mostly Russ's https://golang.org/cl/12145 but with some extra fixes to
account for the fact that function declarations without implementations now
break shared libraries, and including my test case.

Fixes #11480.

Change-Id: Iabdc2934a0378e5025e4e7affadb535eaef2c8f1
Reviewed-on: https://go-review.googlesource.com/12340
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-07-20 00:50:46 +00:00
Ian Lance Taylor 7c767fd709 misc/cgo/testshared: unset GOBIN during test
Fixes #11273.

Change-Id: I409b6c4168711913076439036d65e8639ca3b06f
Reviewed-on: https://go-review.googlesource.com/12073
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-07-12 18:06:34 +00:00
Brad Fitzpatrick 2ae77376f7 all: link to https instead of http
The one in misc/makerelease/makerelease.go is particularly bad and
probably warrants rotating our keys.

I didn't update old weekly notes, and reverted some changes involving
test code for now, since we're late in the Go 1.5 freeze. Otherwise,
the rest are all auto-generated changes, and all manually reviewed.

Change-Id: Ia2753576ab5d64826a167d259f48a2f50508792d
Reviewed-on: https://go-review.googlesource.com/12048
Reviewed-by: Rob Pike <r@golang.org>
2015-07-11 14:36:33 +00:00
Dmitry Vyukov 1cbbd7f545 cmd/trace: fix time scale
Integrate the latest trace-viewer changes.
It now handles nanoseconds without any issues (thanks to @egonelbre!).
So change timestamps from microseconds to nanoseconds.

Change-Id: I010f27effde7e80c9992e6f276f6912354d27df4
Reviewed-on: https://go-review.googlesource.com/11244
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Egon Elbre <egonelbre@gmail.com>
2015-07-01 10:37:10 +00:00
Russ Cox 4e61c516f4 cmd/cgo: fix a problem with 'go build -compiler gccgo'
Port of https://golang.org/cl/154360045 to Git.
Original author is Xia Bin <snyh@snyh.org> (already a contributor).

Fixes #8945.

Change-Id: I28bcaf3348794202ca59fbc3466bd7b9670030e4
Reviewed-on: https://go-review.googlesource.com/11658
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-29 15:15:59 +00:00
Aaron Jacobs 8628688304 Fix several out of date references to 4g/5g/6g/8g/9g.
Change-Id: Ifb8e4e13c7778a7c0113190051415e096f5db94f
Reviewed-on: https://go-review.googlesource.com/11390
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-06-26 03:38:21 +00:00
Mikio Hara fe1cecfaec misc/cgo/testcshared: don't leave garbages after test
Change-Id: I668b18b1e6901c59cf170e0c1cde9a3923c0cb13
Reviewed-on: https://go-review.googlesource.com/11472
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-06-25 19:54:56 +00:00
Rob Pike d0652e7f82 cmd/doc: add test
Refactor main a bit to make it possible to run tests without an exec every time.
(Makes a huge difference in run time.)

Add a silver test. Not quite golden, since it looks for pieces rather than the
full output, and also includes tests for what should not appear.

Fixes #10920.

Change-Id: I6a4951cc14e61763379754a10b0cc3484d30c267
Reviewed-on: https://go-review.googlesource.com/11272
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Rob Pike <r@golang.org>
2015-06-19 21:56:59 +00:00
Srdjan Petrovic cc6554f750 cmd/link/internal/ld, cmd/go: -buildmode=c-shared support for darwin/amd64
All of the heavy-lifting was done by minux@, with his external-linking support
for darwin/arm64: golang.org/cl/8781

Change-Id: I7c9fbc19246f418c065c92fb2c13c00026ff0f82
Reviewed-on: https://go-review.googlesource.com/11127
Run-TryBot: Srdjan Petrovic <spetrovic@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-19 20:28:01 +00:00
Alex Brainman 9d968cb47b runtime: rename cgocall_errno and asmcgocall_errno into cgocall and asmcgocall
Change-Id: I5917bea8bb35b0e725dcc56a68f3a70137cfc180
Reviewed-on: https://go-review.googlesource.com/9387
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-19 01:47:11 +00:00
Ian Lance Taylor a2aaede366 misc/cgo/testshared: make sure rebuilds occur as expected
Adjust timestamps in TestABIChecking to make sure that the library and
executable are rebuilt when expected.

Change-Id: I3288c254ba8201b5b4255347b0cb056fa0908657
Reviewed-on: https://go-review.googlesource.com/11128
Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
Reviewed-by: Yves Junqueira <yves.junqueira@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-06-17 14:55:39 +00:00
Alex Brainman 6428a8b437 cmd/dist: add new misc/cgo/testsovar test
This change reintroduces CL 8523. CL 8523 was reverted because
it broke darwin and netbsd builds. Now that this test is part
of "go tool dist test" command we could skip OSes that fail.

Updates #10360

Change-Id: Iaaeb5b800126492f36415a439c333a218fe4ab67
Reviewed-on: https://go-review.googlesource.com/11119
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-06-17 02:33:40 +00:00
Michael Hudson-Doyle a5f57d7950 cmd/link: when reading symbols from a shared library, allow duplicates when they are both in bss
This makes the behaviour match what happens when duplicate symbols are read
from regular object files and fixes errors about cgoAlwaysFalse when linking
an executable that uses cgo against a shared library.

Change-Id: Ibb8cd8fe3f7813cde504b7483f1e857868d7e063
Reviewed-on: https://go-review.googlesource.com/11117
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-16 22:33:36 +00:00
Michael Hudson-Doyle 12b05bf8fd cmd/go: support -buildmode=shared with gccgo
Change-Id: Id93b8ab42fa311ce32209734ec9a0813f8736e25
Reviewed-on: https://go-review.googlesource.com/9914
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
2015-06-16 01:43:29 +00:00
Russ Cox 2c2770c3d4 cmd/cgo: make sure pointers passed to C escape to heap
Fixes #10303.

Change-Id: Ia68d3566ba3ebeea6e18e388446bd9b8c431e156
Reviewed-on: https://go-review.googlesource.com/10814
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-15 17:39:53 +00:00
Dmitry Vyukov 9a8750b276 misc/trace: update trace viewer
Update to tip to fix #11003 (not possible to select events in chromium).
Fixed #11003

Change-Id: Ibba5d39ca809cfd5cb79c9e6d152b00899d49e08
Reviewed-on: https://go-review.googlesource.com/11062
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-06-14 20:58:23 +00:00
Alex Brainman 202ef487fe cmd/dist: convert testso test into Go
I would like to re-apply reverted http://golang.org/cl/8523.
Reverted tests still fail in some environments (see issue #10360).
It is easier to run tests selectively when in Go.
This CL prepares for the changes.

Updates #10360

Change-Id: Iefeb1d71cb3d1cfa653a6ccd9f6e35686c0c5b24
Reviewed-on: https://go-review.googlesource.com/10608
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-06-12 04:33:50 +00:00
Burcu Dogan 032811e2ab misc/ios: document the external binary and the required env variables
Change-Id: I1ec2460758b19e5315be061033c1bb5ed9ead4a8
Reviewed-on: https://go-review.googlesource.com/9688
Reviewed-by: Minux Ma <minux@golang.org>
2015-06-09 22:09:52 +00:00
Russ Cox 7e27625e25 cmd/go, cmd/link: use "Go" not "GO" as ELF note identifier
Change-Id: I038e892725836ab7718f7638e8ad5712953f2cb5
Reviewed-on: https://go-review.googlesource.com/10704
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-06-05 03:59:46 +00:00
Michael Hudson-Doyle c949cff6a7 cmd/internal/ld: do not depend on local symbols to read a type's gcdata
We already read the address of a gcmask/gcprog out of the type data, but I
didn't know how many bytes to read. But it turns out that it's easy to
calculate, so change to do that. This means that we no longer depend on the
local symbols being present, allowing me to strip the shared libraries for
distribution and make them a lot smaller.

As a bonus, this makes LSym another 24 bytes smaller, down to 296 bytes now.

Change-Id: I379d359e28d63afae6753efd23efdf1fbb716992
Reviewed-on: https://go-review.googlesource.com/10377
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-05-27 14:11:16 +00:00
Michael Hudson-Doyle bcc1870fcf cmd/internal/ld: store the libraries a shared library was linked against in a note
The motivation for this is the innocuous looking test case that is added. This
creates a stack exe -> libdep2.so -> libdep.so -> libruntime.so. The problem
comes from the fact that a function from libdep.so gets inlined all the way
into exe. This (unsurprisingly) means that the object file for exe references
symbols from libdep.so, which means that -ldep needs to be passed when linking
exe and it isn't. The fix is simply to pass it -- there is no harm in passing
it when it's not needed.

The thing is, it's not clear at all in the current code to see how the linker
can know that libdep2 is linked against libdep. It could look through the
DT_NEEDED entries in libdep2 and try to guess which are Go libraries, but it
feels better to be explicit. So this adds another SHT_NOTE section that lists
the shared libraries a shared library was linked against, and makes sure the
complete set of depended upon shared libraries is passed to the external
linker.

Change-Id: I79aa6f98b4db4721d657a7eb7b7f062269bf49e2
Reviewed-on: https://go-review.googlesource.com/10376
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-05-27 13:25:32 +00:00
Michael Hudson-Doyle 65518032b9 cmd/link/internal/ld: put abi hash into a note
This makes for a more stable API for tools (including cmd/link itself) to
extract the abi hash from a shared library and makes it possible at all for a
library that has had the local symbol table removed.

The existing note-writing code only supports writing notes into the very start
of the object file so they are easy to find in core dumps. This doesn't apply
to the "go" notes and means that all notes have to fit into a fixed size
budget. That's annoying now we have more notes (and the next CL will add
another one) so this does a little bit of work to make adding notes that do not
have to go at the start of the file easier and moves the writing of the package
list note over to that mechanism, which lets me revert a hack that increased
the size budget mentioned above for -buildmode=shared builds.

Change-Id: I6077a68d395c8a2bc43dec8506e73c71ef77d9b9
Reviewed-on: https://go-review.googlesource.com/10375
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-27 04:48:29 +00:00
Michael Hudson-Doyle 9262e2183b misc/cgo/testshared: do not capture output of go commands in verbose mode
Change-Id: I8694ee5e5642c31815ae63cd414a3b1fcd9c95b0
Reviewed-on: https://go-review.googlesource.com/10411
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-05-27 04:46:29 +00:00
David Crawshaw 9c37a23bcb misc/android: cleaner to remove stale GOROOT files
Updates #10806

Change-Id: I734d6db026cc7c2e3099a76dc8db8e42b2b90aa7
Reviewed-on: https://go-review.googlesource.com/10390
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-05-25 20:52:10 +00:00
Elias Naur 22e4b8167f misc/cgo/test: fix build for CC=clang
Fix build error when CL=clang introduced by CL 10173.

Change-Id: I8edf210787a9803280c0779ff710c7e634a820d6
Reviewed-on: https://go-review.googlesource.com/10341
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-22 22:54:24 +00:00
Elias Naur 84cfba17c2 runtime: don't always unblock all signals
Ian proposed an improved way of handling signals masks in Go, motivated
by a problem where the Android java runtime expects certain signals to
be blocked for all JVM threads. Discussion here

https://groups.google.com/forum/#!topic/golang-dev/_TSCkQHJt6g

Ian's text is used in the following:

A Go program always needs to have the synchronous signals enabled.
These are the signals for which _SigPanic is set in sigtable, namely
SIGSEGV, SIGBUS, SIGFPE.

A Go program that uses the os/signal package, and calls signal.Notify,
needs to have at least one thread which is not blocking that signal,
but it doesn't matter much which one.

Unix programs do not change signal mask across execve.  They inherit
signal masks across fork.  The shell uses this fact to some extent;
for example, the job control signals (SIGTTIN, SIGTTOU, SIGTSTP) are
blocked for commands run due to backquote quoting or $().

Our current position on signal masks was not thought out.  We wandered
into step by step, e.g., http://golang.org/cl/7323067 .

This CL does the following:

Introduce a new platform hook, msigsave, that saves the signal mask of
the current thread to m.sigsave.

Call msigsave from needm and newm.

In minit grab set up the signal mask from m.sigsave and unblock the
essential synchronous signals, and SIGILL, SIGTRAP, SIGPROF, SIGSTKFLT
(for systems that have it).

In unminit, restore the signal mask from m.sigsave.

The first time that os/signal.Notify is called, start a new thread whose
only purpose is to update its signal mask to make sure signals for
signal.Notify are unblocked on at least one thread.

The effect on Go programs will be that if they are invoked with some
non-synchronous signals blocked, those signals will normally be
ignored.  Previously, those signals would mostly be ignored.  A change
in behaviour will occur for programs started with any of these signals
blocked, if they receive the signal: SIGHUP, SIGINT, SIGQUIT, SIGABRT,
SIGTERM.  Previously those signals would always cause a crash (unless
using the os/signal package); with this change, they will be ignored
if the program is started with the signal blocked (and does not use
the os/signal package).

./all.bash completes successfully on linux/amd64.

OpenBSD is missing the implementation.

Change-Id: I188098ba7eb85eae4c14861269cc466f2aa40e8c
Reviewed-on: https://go-review.googlesource.com/10173
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-22 20:24:08 +00:00
Russ Cox 2a141dedc4 cmd/link: move to cmd/newlink
In preparation for making the current linker cmd/link.
If cmd/newlink is ever completed, it can be moved back.

See golang-dev thread titled "go tool compile, etc" for background.

Change-Id: I4029580f470038240c5181a37ea4202ba971f9ef
Reviewed-on: https://go-review.googlesource.com/10286
Reviewed-by: Rob Pike <r@golang.org>
2015-05-21 17:31:40 +00:00
Shenghou Ma c013417a45 misc/cgo/testshared: when checking for RPATHs also look for DT_RUNPATH
On my systems, ld -rpath sets DT_RUNPATH instead of DT_RPATH.

Change-Id: I5047e795fb7ef9336f5fa13ba24bb6245c0b0582
Reviewed-on: https://go-review.googlesource.com/10260
Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-19 23:07:45 +00:00
Michael Hudson-Doyle 362a40e37d misc/cgo/testshared: rewrite in Go
And fix to work on filesystems with only 1s resolution.

Fixes #10724

Change-Id: Ia07463f090b4290fc27f5953fa94186463d7afc7
Reviewed-on: https://go-review.googlesource.com/9768
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-05-18 18:40:05 +00:00
Hyang-Ah (Hana) Kim 647026a16b misc/cgo/testcshared: remove use of 'env'.
'env' command is not available on some android devices.

Change-Id: I68b1152ef7ea248c8e80c7f71e97da76e3ec6394
Reviewed-on: https://go-review.googlesource.com/9999
Reviewed-by: Minux Ma <minux@golang.org>
2015-05-13 21:31:03 +00:00
Hyang-Ah (Hana) Kim a4f4a46c28 misc/cgo/testcshared: fix test for android.
On android the generated header files are located in
pkg/$(go env GOOS)_$(go env GOARCH)_testcshared.
The test was broken since https://go-review.googlesource.com/9798.

The installation path differs based on codegenArgs
(around src/cmd/go/build.go line 389), and the codegenArgs
is platform dependent.

Change-Id: I01ae9cb957fb7676e399f3b8c067f24c5bd20b9d
Reviewed-on: https://go-review.googlesource.com/9980
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-12 23:46:33 +00:00
Michael Hudson-Doyle 77fc03f4cd cmd/internal/ld, runtime: abort on shared library ABI mismatch
This:

1) Defines the ABI hash of a package (as the SHA1 of the __.PKGDEF)
2) Defines the ABI hash of a shared library (sort the packages by import
   path, concatenate the hashes of the packages and SHA1 that)
3) When building a shared library, compute the above value and define a
   global symbol that points to a go string that has the hash as its value.
4) When linking against a shared library, read the abi hash from the
   library and put both the value seen at link time and a reference
   to the global symbol into the moduledata.
5) During runtime initialization, check that the hash seen at link time
   still matches the hash the global symbol points to.

Change-Id: Iaa54c783790e6dde3057a2feadc35473d49614a5
Reviewed-on: https://go-review.googlesource.com/8773
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
2015-05-12 01:30:40 +00:00
Michael Hudson-Doyle be0cb9224b runtime: fix addmoduledata to follow the platform ABI
addmoduledata is called from a .init_array function and need to follow the
platform ABI. It contains accesses to global data which are rewritten to use
R15 by the assembler, and as R15 is callee-save we need to save it.

Change-Id: I03893efb1576aed4f102f2465421f256f3bb0f30
Reviewed-on: https://go-review.googlesource.com/9941
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-05-12 00:50:32 +00:00
Shenghou Ma dce432b388 misc/trace: add license for the trace-viewer
The trace-viewer doesn't use the Go license, so it makes sense
to include the license text into the README.md file.

While we're at here, reformat existing text using real Markdown
syntax.

Change-Id: I13e42d3cc6a0ca7e64e3d46ad460dc0460f7ed09
Reviewed-on: https://go-review.googlesource.com/9882
Reviewed-by: Rob Pike <r@golang.org>
2015-05-11 06:09:10 +00:00
Ian Lance Taylor e45aebd6dd cmd/go: install headers for c-archive/c-shared cgo exports
When
  using -buildmode=c-archive or c-shared, and
  when installing packages that use cgo, and
  when those packages export some functions via //export comments,
then
  for each such package, install a pkg.h header file that declares the
  functions.

This permits C code to #include the header when calling the Go
functions.

This is a little awkward to use when there are multiple packages that
export functions, as you have to "go install" your c-archive/c-shared
object and then pull it out of the package directory.  When compiling
your C code you have to -I pkg/$GOOS_$GOARCH.  I haven't thought of
any more convenient approach.  It's simpler when only the main package
has exported functions.

When using c-shared you currently have to use a _shared suffix in the
-I option; it would be nice to fix that somehow.

Change-Id: I5d8cf08914b7d3c2b194120c77791d2732ffd26e
Reviewed-on: https://go-review.googlesource.com/9798
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-05-07 17:39:56 +00:00
Aram Hăvărneanu 2230e9d24b misc/cgo: add various solaris build lines
Change-Id: Ifd9ac7f5300232fb83c6350a787b5803adb96b48
Reviewed-on: https://go-review.googlesource.com/8263
Reviewed-by: Minux Ma <minux@golang.org>
2015-05-06 11:38:08 +00:00
Michael Hudson-Doyle a1858e9cf0 cmd/go: rebuild stale shared objects before linking against them.
This changes the action graph when shared libraries are involved to always have
an action for the shared library (which does nothing when the shared library
is up to date).

Change-Id: Ibbc70fd01cbb3f4e8c0ef96e62a151002d446144
Reviewed-on: https://go-review.googlesource.com/8934
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-05-05 22:08:25 +00:00
Burcu Dogan 97fd7b07b6 misc/ios: fix plist indentation and whitespace
Change-Id: Ida727edb592e77918ca5511b41456786d57c97b2
Reviewed-on: https://go-review.googlesource.com/9634
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-05-05 21:04:05 +00:00
Dave Cheney ccaaf1f134 misc/cgo/testcshared, misc/cgo/testshared: fix clang warnings and errors
Fix several warnings generated on the linux-amd64-clang builder
and make it clear to clang that -znow is a linker only flag.

Tested with

    env CC=clang-3.5 ./all.bash
    env CC=gcc-4.8 ./all.bash

Change-Id: I5ca7366ba8bf6221a36d25a2157dda4b4f3e16fa
Reviewed-on: https://go-review.googlesource.com/9523
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-30 17:08:15 +00:00
Michael Hudson-Doyle 0774f6dbfd misc/cgo/testshared: add basic test for -buildmode=shared/-linkshared
Just a first basic test, I'll extend this to test more but want to get an
opinion on basic approach first.

Change-Id: Idab9ebd7d9960b000b81a01a1e53258bf4bce755
Reviewed-on: https://go-review.googlesource.com/9386
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
2015-04-29 23:47:47 +00:00
Ian Lance Taylor e2b6cebcd6 misc/cgo/test/issue9400: fix to build with gccgo
This doesn't test much with gccgo, but at least it builds now, and the
test does, unsurprisingly, pass.  A proper test would require adding
assembly files in GCC syntax for all platforms that gccgo supports,
which would be infeasible.

Also added copyright headers to the asm files.

Change-Id: Icea5af29d7d521a0681506ddb617a79705b76d33
Reviewed-on: https://go-review.googlesource.com/9417
Reviewed-by: Minux Ma <minux@golang.org>
2015-04-29 16:57:13 +00:00
Hyang-Ah Hana Kim e9a89b80b6 misc/cgo/testcshared: make test.bash resilient against noise.
Instead of comparing against the entire output that may include
verbose warning messages, use the last line of the output and check
it includes the expected success message (PASS).

Change-Id: Iafd583ee5529a8aef5439b9f1f6ce0185e4b1331
Reviewed-on: https://go-review.googlesource.com/9304
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-24 18:32:24 +00:00
Hyang-Ah Hana Kim 8566979972 misc/cgo/testcshared: add a c-shared test for android/arm.
- main3.c tests main.main is exported when compiled for GOOS=android.
- wait longer for main2.c (it's slow on android/arm)
- rearranged test.bash

Fixes #10070.

Change-Id: I6e5a98d1c5fae776afa54ecb5da633b59b269316
Reviewed-on: https://go-review.googlesource.com/9296
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-04-24 16:32:31 +00:00
Srdjan Petrovic 5c8fbc6f1e runtime: signal forwarding
Forward signals to signal handlers installed before Go installs its own,
under certain circumstances.  In particular, as iant@ suggests, signals are
forwarded iff:
   (1) a non-SIG_DFL signal handler existed before Go, and
   (2) signal is synchronous (i.e., one of SIGSEGV, SIGBUS, SIGFPE), and
   	(3a) signal occured on a non-Go thread, or
   	(3b) signal occurred on a Go thread but in CGo code.

Supported only on Linux, for now.

Change-Id: I403219ee47b26cf65da819fb86cf1ec04d3e25f5
Reviewed-on: https://go-review.googlesource.com/8712
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-24 05:19:39 +00:00
Ian Lance Taylor e589e08014 misc/cgo/testcshared: add c-shared test with no exports
The purpose of this test is to make sure that -buildmode=c-shared
works even when the shared library can be built without invoking cgo.

Change-Id: Id6f95af755992b209aff770440ca9819b74113ab
Reviewed-on: https://go-review.googlesource.com/9166
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-21 20:50:23 +00:00
David Crawshaw 98f610fe09 misc/cgo/testcarchive: enable test on darwin/arm
Change-Id: I0d3f9841500e0a41f1c427244869bf3736a31e18
Reviewed-on: https://go-review.googlesource.com/9075
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-04-20 15:16:16 +00:00
David Crawshaw c5befcf0a7 misc/cgo/testcarchive: check that os.Args is set
Change-Id: I4278abca9d2a8f25149fa8935a93d32e7d04a43a
Reviewed-on: https://go-review.googlesource.com/9050
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-04-17 22:29:51 +00:00
Hyang-Ah Hana Kim 92189a2be2 misc/cgo/testcshared: test -buildmode=c-shared
Followed the same test pattern in misc/cgo/testcarchive.

Change-Id: I2f863b5c24a28f0b38b0128ed3e8a92c17fb5b9f
Reviewed-on: https://go-review.googlesource.com/8985
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-17 16:16:44 +00:00
Russ Cox 6a2b0c0b6d runtime: delete cgo_allocate
This memory is untyped and can't be used anymore.
The next version of SWIG won't need it.

Change-Id: I592b287c5f5186975ee09a9b28d8efe3b57134e7
Reviewed-on: https://go-review.googlesource.com/8956
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-17 01:30:47 +00:00
Josh Bleecher Snyder 8fd1ec232f misc/ios: fix teamID and appID use in entitlements
This is a follow-up to CL 8910.
This is the version that I have tested and which works
when appID and teamID are not the same (which they appear
to be for the builder).

I am unsure how I submitted it with the wrong code.

Change-Id: I186e34e91953d082b507390c1cd2042e5419c4c9
Reviewed-on: https://go-review.googlesource.com/8943
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-16 15:58:45 +00:00
Shenghou Ma 110fa22c45 misc/cgo/test: skip issue3261 test on darwin/arm64
Because there is no libgcc.

Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f07
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/8786
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-16 13:00:47 +00:00
David Crawshaw e6d5233cfe misc/ios: adjust exec script for iOS 8.3
We no longer need the EXC_BAD_ACCESS watcher as runtime/cgo contains
a mach exception handler that catches it. And now lldb only
intermittently reports process connection and exiting, so instead
just look for the PASS from Go.

Change-Id: I403266558f5a900e0b87ec1019d9baec88148d23
Reviewed-on: https://go-review.googlesource.com/8957
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2015-04-16 12:29:13 +00:00
Josh Bleecher Snyder 2d0c962b1c misc/ios: read codesign info from environment variables
Use environment variables to allow set-and-forget.

Add a script to attempt to autodetect codesign info.

Change-Id: Ic56b9c5f097b1a4117ebb89c408bc333d91f581d
Reviewed-on: https://go-review.googlesource.com/8910
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-04-15 00:00:10 +00:00
David Crawshaw 3b22ffc07e runtime: make cgocallback wait on package init
With the new buildmodes c-archive and c-shared, it is possible for a
cgo call to come in early in the lifecycle of a Go program. Calls
before the runtime has been initialized are caught by
_cgo_wait_runtime_init_done. However a call can come in after the
runtime has initialized, but before the program's package init
functions have finished running.

To avoid this cgocallback checks m.ncgo to see if we are on a thread
running Go. If not, we may be a foreign thread and it blocks until
main_init is complete.

Change-Id: I7a9f137fa2a40c322a0b93764261f9aa17fcf5b8
Reviewed-on: https://go-review.googlesource.com/8897
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: David Crawshaw <crawshaw@golang.org>
2015-04-14 13:39:02 +00:00
David Crawshaw 8543cc5635 misc/cgo/testcarchive: avoid bad pointer passing
Change-Id: Ifbcc0eb24834f2f7d3b160d1dc911209723d9797
Reviewed-on: https://go-review.googlesource.com/8863
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-13 19:00:52 +00:00
David Crawshaw 4345a9fc5d misc/ios: support go run in go_darwin_arm_exec
The -lldb flag makes it easy to use go run and end up in a debugging
session on darwin/arm.

Change-Id: I556f93e950086a7dff4839f301b9c55f7579f87b
Reviewed-on: https://go-review.googlesource.com/8024
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-04-13 18:59:52 +00:00
David Crawshaw fdab2f92ea misc/cgo/testcarchive: test -buildmode=c-archive
Change-Id: I1668a6885c45180ff88fe673d04cec7eba395ee7
Reviewed-on: https://go-review.googlesource.com/8861
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-13 18:31:07 +00:00
David Crawshaw 684473d19b misc/ios: pick clang arch based on GOARCH
Change-Id: Ia49ab729747acb07bf392d90aea9e752471e152e
Reviewed-on: https://go-review.googlesource.com/8789
Reviewed-by: Minux Ma <minux@golang.org>
2015-04-12 02:41:36 +00:00
Shenghou Ma 6508518849 misc/cgo/test/issue9400: add arm64 implementation
Change-Id: I309e3df7608b9eef9339196fdc50dedf5f9439f4
Reviewed-on: https://go-review.googlesource.com/8451
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
2015-04-08 09:08:40 +00:00
Shenghou Ma 84b690fee1 cmd/api: re-enable TestGolden on nacl
Fixes #10369.

Change-Id: If0a6d2b33c6862c9f7f862bdc997f2204072c6dc
Reviewed-on: https://go-review.googlesource.com/8620
Run-TryBot: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-04-08 06:36:36 +00:00
Alex Brainman f8bcebe47c Revert "misc/cgo/testso: add test for fixed issue 4339"
This reverts commit 9fa9f966e9.

The change has broken darwin and netbsd builders. It needs to be tested properly.

Change-Id: Id9e2d30caa8764c362c9f33890015dfc1aae0dab
Reviewed-on: https://go-review.googlesource.com/8527
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2015-04-07 11:50:28 +00:00
Alex Brainman 9fa9f966e9 misc/cgo/testso: add test for fixed issue 4339
Update #4339.

Change-Id: Ic1a7535562b8b824ba166777725f7ba5b9623d77
Reviewed-on: https://go-review.googlesource.com/8523
Run-TryBot: Minux Ma <minux@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-04-07 06:25:33 +00:00
David Crawshaw 00e0fe4b95 misc/ios: retry loop to handle builder flakiness
After moving the darwin/arm builder to new hardware several new flaky
error messages appeared. This provided enough information to Google
to make it clear that iOS build systems have been flaky for many
years, and that is unlikely to change any time soon.

However, all of the pain of lldb and using a breakpoint early in
program initialization gives us an advantage: all install and
initialization flakiness appears to happen before the Go program ever
gets going. So if we see an error or we timeout before we reach our
breakpoint (before any test code has executed), we can assume it is
the fault of the builder and restart without risking hiding a flaky
Go test.

This code has successfully processed the last 8 builds. I am hopeful.

Change-Id: Ide24aaae4fa7bdab9d8f4432bb85d8f2256c7606
Reviewed-on: https://go-review.googlesource.com/8241
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-30 18:11:07 +00:00
David Crawshaw 713451a097 misc/ios: simplify breakpoint timeout
The clever partial timer I added interacts badly with iOS app launch
timeout termination. A fixed timeout will be easier to debug.

Change-Id: I6eb4ee5f1431539f00fa707e8cde6f3cf86983fc
Reviewed-on: https://go-review.googlesource.com/8083
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-25 17:26:03 +00:00
David Crawshaw ed92862522 misc/ios: timeout and continue waiting for getwd
Split out from cl/8024 for clarity and improved approach.

Rarely, "stop reason = breakpoint" does not appear in the lldb stop
text. However the program is ready to proceed. To be a little more
robust about those cases, we wait for two seconds, and if that text
doesn't appear but a prompt does we continue and hope for the best.
Worst case, this results in a harder to read failure message.

Change-Id: Ib20aa92564cdccefd2b7260417c647cd44122b66
Reviewed-on: https://go-review.googlesource.com/8080
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-25 16:31:38 +00:00
Shenghou Ma 003dccfac4 runtime, syscall: use the new get_random_bytes syscall for NaCl
The SecureRandom named service was removed in
https://codereview.chromium.org/550523002. And the new syscall
was introduced in https://codereview.chromium.org/537543003.

Accepting this will remove the support for older version of
sel_ldr. I've confirmed that both pepper_40 and current
pepper_canary have this syscall.

After this change, we need sel_ldr from pepper_39 or above to
work.

Fixes #9261

Change-Id: I096973593aa302ade61f259a3a71ebc7c1a57913
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/1755
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2015-03-25 02:07:09 +00:00
Ian Lance Taylor 4f97afcdf2 misc/swig/callback: fix test for SWIG -cgo support
The test used to import ../callback.  I forget why that ever worked,
but it probably had something to do with the shared libraries we used
to use with SWIG.  It doesn't work today.

Change-Id: Ib83d6c398aa46bf2fc66320b47b6e6d9897ee0b7
Reviewed-on: https://go-review.googlesource.com/7004
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-03-06 15:28:50 +00:00
Alex Brainman d2918cbcaa cmd/dist: execute misc/cgo/testso again on windows
Fixes #10072

Change-Id: I1f73c8829a89144d49433a36a4e64223c74af954
Reviewed-on: https://go-review.googlesource.com/6585
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-03-04 22:38:48 +00:00
Brad Fitzpatrick d5f690609f build: convert run.bash, run.bat, and run.rc into a Go program
This will enable test sharding over multiple VMs, to speed trybot answers.

Update #10029

Change-Id: Ie277c6459bc38005e4d6af14d22effeaa0a4667e
Reviewed-on: https://go-review.googlesource.com/6531
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
2015-03-03 23:22:11 +00:00
David Crawshaw 7ff6254c50 misc/ios: run lldb commands much more carefully
We now wait until we see the completed prompt from a command before
proceeding. This seems to cut down on a spurious error I have seen
this afternoon.

Change-Id: Ic0a3481d8c265c3c3b4449ec7ac1c2752b85b0b6
Reviewed-on: https://go-review.googlesource.com/6691
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-03 23:06:45 +00:00
David Crawshaw 1fdeb6b58a misc/ios: extra stdout check before run
On one recent job I saw an unexpected SIGSTOP, which I suspect is
simply the job timeout. But the lack of other diagnostics suggests
lldb just didn't see the "run" command.

-----

process handle SIGHUP  --stop false --pass true --notify false
process handle SIGPIPE --stop false --pass true --notify false
process handle SIGUSR1 --stop false --pass true --notify false
process handle SIGSEGV --stop false --pass true --notify false
process handle SIGBUS  --stop false --pass true --notify false
breakpoint set -n getwd
run
(lldb) NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGHUP      true   false  false
(lldb) NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGPIPE     true   false  false
(lldb) NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGUSR1     true   false  false
(lldb) NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGSEGV     true   false  false
(lldb) NAME        PASS   STOP   NOTIFY
==========  =====  =====  ======
SIGBUS      true   false  false
(lldb) Breakpoint 1: where = libsystem_c.dylib`getwd, address = 0x2f7f7294
(lldb) Process 23755 stopped
* thread #1: tid = 0x104c02, 0x1febb000 dyld`_dyld_start, stop reason = signal SIGSTOP
    frame #0: 0x1febb000 dyld`_dyld_start
dyld`_dyld_start:
-> 0x1febb000:  mov    r8, sp
   0x1febb004:  sub    sp, sp, #0x10
   0x1febb008:  bic    sp, sp, #0x7
   0x1febb00c:  ldr    r3, [pc, #112]            ; _dyld_start + 132
(lldb) go_darwin_arm_exec: timeout (stage br getwd)
FAIL	compress/gzip	359.226s

Change-Id: Ifc2123f5ceaa6d3f9b31bb5cb6e77a2c8ec23818
Reviewed-on: https://go-review.googlesource.com/6613
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-03 20:03:32 +00:00
David Crawshaw 66416c00eb misc/ios: more predictable zoneinfo.zip location
See golang.org/cl/6511.

Change-Id: I2145a42877ed6b78400f29c2ef18969870dab5c3
Reviewed-on: https://go-review.googlesource.com/6512
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-03 01:49:56 +00:00
David Crawshaw d460b6e5c6 misc/ios: add go_darwin_arm_exec script
This script is getting very close to complete, and is complex enough
that I'd like to get what's there so far reviewed. With it the builder
is left failing on eight packages. Two of those involve correcting
GOROOT which may need modifications to this script, the others are
either a unix sockets bug I have to hunt down or are caused by lldb
getting stuck on SIGSEGV, a TODO.

Change-Id: I5ff933800167b6764b51ad195da7dcda61d59ff8
Reviewed-on: https://go-review.googlesource.com/6404
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-03-02 19:42:30 +00:00
Russ Cox 20f9f544bf [dev.cc] misc/nacl: add testdata for cmd/internal/rsc.io/x86/x86asm
Should fix nacl build on dev.cc.

Change-Id: I166a03b5f6903bd8bbce65af4e5f2899807bb6cc
Reviewed-on: https://go-review.googlesource.com/5575
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
2015-02-23 17:14:24 +00:00
Russ Cox de50bad121 [dev.cc] all: merge master (48469a2) into dev.cc
Change-Id: I10f7950d173b302151f2a31daebce297b4306ebe
2015-02-23 10:16:29 -05:00
Russ Cox 5944cb8d1a [dev.cc] cmd/asm/internal/asm: fix test on nacl
Need to add testdata to NaCl's testing file system.

Change-Id: Ie9703b5475c7f87e737a06de85d1f88e2062f090
Reviewed-on: https://go-review.googlesource.com/5541
Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-21 18:11:28 +00:00
Dmitry Vyukov edadffa2f3 cmd/trace: add new command
Trace command allows to visualize and analyze traces.
Run as:
$ go tool trace binary trace.file
The commands opens web browser with the main page,
which contains links for trace visualization,
blocking profiler, network IO profiler and per-goroutine
traces.

Also move trace parser from runtime/pprof/trace_parser_test.go
to internal/trace/parser.go, so that it can be shared between
tests and the command.

Change-Id: Ic97ed59ad6e4c7e1dc9eca5e979701a2b4aed7cf
Reviewed-on: https://go-review.googlesource.com/3601
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-02-20 18:31:25 +00:00
Rob Pike e190e27143 [dev.cc] misc/cgo/test: fix PC reference in arm assembler
Use R15.
May fix build.

Change-Id: Ia25b0936c5aab2a427f8e6531688c3e537fbfdd0
Reviewed-on: https://go-review.googlesource.com/5070
Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-17 21:42:27 +00:00
Péter Surányi 9b6ccb1323 all: don't refer to code.google.com/p/go{,-wiki}/
Only documentation / comment changes. Update references to
point to golang.org permalinks or go.googlesource.com/go.
References in historical release notes under doc are left as is.

Change-Id: Icfc14e4998723e2c2d48f9877a91c5abef6794ea
Reviewed-on: https://go-review.googlesource.com/4060
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-06 14:41:47 +00:00
Shenghou Ma f961a99a35 misc/ios: add README and wrapper script to ease cross-compiling for darwin/arm
Fixes #837.

Change-Id: I2d601504addbd220b304d32d587144d2a702f753
Reviewed-on: https://go-review.googlesource.com/2127
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-06 05:50:10 +00:00
Shenghou Ma 5b806e58e2 misc/cgo/test: skip test7978 when using unsupported compilers
On Darwin/ARM, because libSystem doesn't provide functions for
__sync_fetch_and_add, and only clang can inline that function,
skip the test when building with GCC.

Change-Id: Id5e9d8f9bbe1e6bcb2f381f0f66cf68aa95277c7
Reviewed-on: https://go-review.googlesource.com/2125
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-06 05:49:47 +00:00
Andrew Gerrand 5efcbba9ee misc/makerelease: send file size when uploading
Change-Id: I1a1ed1e23067268a2bac08fc4c99c594fb723837
Reviewed-on: https://go-review.googlesource.com/3050
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-20 04:09:23 +00:00
Andrew Gerrand 95864504d2 misc/dashboard/codereview: delete
This dashboard is no longer in use, and doesn't work with Gerrit.

Change-Id: Ib7c367dcad97322566610157b15e23db5bec58ff
Reviewed-on: https://go-review.googlesource.com/3028
Reviewed-by: David Symonds <dsymonds@golang.org>
2015-01-19 22:18:03 +00:00
Shenghou Ma 30e910197a misc/makerelease: workaround the go install -a restriction on release branches
Fixes #9619.

Change-Id: I71931b0d546163e5451d7d72e552b08540e3c2a7
Reviewed-on: https://go-review.googlesource.com/2995
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-18 23:20:25 +00:00
Hyang-Ah Hana Kim d5d4e82fb2 misc/android: choose the right subdirectory for bin under GOPATH.
This change includes the cleanup of temporary files created during
the binary execution as well.

Change-Id: Ic01a0a537d1daafcaa3acda1ec344aff5dcddfc2
Reviewed-on: https://go-review.googlesource.com/2903
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-01-16 22:02:52 +00:00
Austin Clements 36f456c789 misc/cgo: skip testso on ppc64
This test requires external linking, but we don't yet implement
external linking on ppc64 (tracked in issue #8912).  Disable the test
on ppc64 until external linking is implemented.

This makes all.bash pass on ppc64le.

Change-Id: I741498d4d9321607e7a65792a33faf8187bd18e4
Reviewed-on: https://go-review.googlesource.com/2908
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-16 19:45:28 +00:00
Andrew Gerrand 2a87a8a5ec misc/makerelease: a couple of small fixes
Change-Id: Iec19d6152b95ba67daac366b32d42f69e1dba9a4
Reviewed-on: https://go-review.googlesource.com/2951
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-16 03:31:46 +00:00
Andrew Gerrand 1d890ac0b2 misc/makerelease: use built in "del" to remove files
Git marks some of its files read only, so os.RemoveAll isn't sufficient
to remove them from the ".git" directory.

Change-Id: I3150596931d1c77e7cf9fb8da1a999d2c6730121
Reviewed-on: https://go-review.googlesource.com/2930
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-15 22:24:06 +00:00
Andrew Gerrand 1a4c984bae misc/makerelease: check out core from git repo, use new oauth2 package
Change-Id: I072cf2b9149a05901cc19e7aeb0e9d0936a8dbe3
Reviewed-on: https://go-review.googlesource.com/2793
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-14 22:24:39 +00:00
Shenghou Ma 16993f2485 cmd/cgo: also rewrite C.var in selector expressions
While we're here, rename TestIssue7234 to Test7234 for consistency
with other tests.

Fixes #9557.

Change-Id: I22b0a212b31e7b4f199f6a70deb73374beb80f84
Reviewed-on: https://go-review.googlesource.com/2654
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-01-12 21:48:57 +00:00
Shenghou Ma 583293349b misc/swig/stdio: fix broken nil pointer test
SWIG has always returned a typed interface value for a C++ class,
so the interface value will never be nil even if the pointer itself
is NULL. ptr == NULL in C/C++ should be ptr.Swigcptr() == 0 in Go.

Fixes #9514.

Change-Id: I3778b91acf54d2ff22d7427fbf2b6ec9b9ce3b43
Reviewed-on: https://go-review.googlesource.com/2440
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-01-07 23:24:23 +00:00
Matthew Dempsky b2aab72d9a cmd/cgo: remove obsolete -cdefs flag
Now that there's no 6c compiler anymore, there's no need for cgo to
generate C headers that are compatible with it.

Fixes #9528

Change-Id: I43f53869719eb9a6065f1b39f66f060e604cbee0
Reviewed-on: https://go-review.googlesource.com/2482
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-01-07 22:49:59 +00:00
Russ Cox 949dd10222 misc/cgo: disable TestAllocateFromC in wbshadow mode
This test is doing pointer graph manipulation from C, and we
cannot support that with concurrent GC. The wbshadow mode
correctly diagnoses missing write barriers.

Disable the test in that mode for now. There is a bigger issue
behind it, namely SWIG, but for now we are focused on making
all.bash pass with wbshadow enabled.

Change-Id: I55891596d4c763e39b74082191d4a5fac7161642
Reviewed-on: https://go-review.googlesource.com/2346
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
2015-01-06 22:22:59 +00:00
Russ Cox df027aceb9 reflect: add write barriers
Use typedmemmove, typedslicecopy, and adjust reflect.call
to execute the necessary write barriers.

Found with GODEBUG=wbshadow=2 mode.
Eventually that will run automatically, but right now
it still detects other missing write barriers.

Change-Id: Iec5b5b0c1be5589295e28e5228e37f1a92e07742
Reviewed-on: https://go-review.googlesource.com/2312
Reviewed-by: Keith Randall <khr@golang.org>
2015-01-06 00:28:31 +00:00
Shenghou Ma 04cf881fbe misc/cgo/test: get rid of the backdoor package
For Go 1.5, we can use go:linkname rather than assembly thunk for gc.
Gccgo already has support for //extern.

Change-Id: I5505aa247dd5b555112f7261ed2f192c81cf0bdf
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/1888
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2014-12-24 00:18:21 +00:00
Austin Clements 200e7bf6b1 misc/cgo: fix issue 9400 test on 386
issue9400_linux.go did not build on 386 because it used a constant
that was larger than a 32-bit int in a ... argument.  Fix this by
casting the constant to uint64 (to match how the constant is being
used).

Change-Id: Ie8cb64c3910382a41c7852be7734a62f0b2d5a21
Reviewed-on: https://go-review.googlesource.com/2060
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2014-12-23 02:22:50 +00:00
Austin Clements 675eb72c28 runtime: run libc SIGSETXID and SIGCANCEL handlers on signal stack
These signals are used by glibc to broadcast setuid/setgid to all
threads and to send pthread cancellations.  Unlike other signals, the
Go runtime does not intercept these because they must invoke the libc
handlers (see issues #3871 and #6997).  However, because 1) these
signals may be issued asynchronously by a thread running C code to
another thread running Go code and 2) glibc does not set SA_ONSTACK
for its handlers, glibc's signal handler may be run on a Go stack.
Signal frames range from 1.5K on amd64 to many kilobytes on ppc64, so
this may overflow the Go stack and corrupt heap (or other stack) data.

Fix this by ensuring that these signal handlers have the SA_ONSTACK
flag (but not otherwise taking over the handler).

This has been a problem since Go 1.1, but it's likely that people
haven't encountered it because it only affects setuid/setgid and
pthread_cancel.

Fixes #9600.

Change-Id: I6cf5f5c2d3aa48998d632f61f1ddc2778dcfd300
Reviewed-on: https://go-review.googlesource.com/1887
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2014-12-23 01:33:36 +00:00
Ian Lance Taylor 421c01706f misc/cgo/test: skip test7978 when using gccgo
Gccgo can only get a backtrace for the currently running thread, which
means that it can only get a backtrace for goroutines currently running
Go code.  When a goroutine is running C code, gccgo has no way to stop
it and get the backtrace.  This test is all about getting a backtrace
of goroutines running C code, so it can't work for gccgo.

Change-Id: I2dff4403841fb544da7396562ab1193875fc14c3
Reviewed-on: https://go-review.googlesource.com/1904
Reviewed-by: Minux Ma <minux@golang.org>
2014-12-20 02:38:38 +00:00
Ian Lance Taylor 35dc312e72 misc/cgo/test/backdoor: add gc build tag for thunk.s
Change-Id: I6be5f610af5c56131a9d887569919372bab1d02c
Reviewed-on: https://go-review.googlesource.com/1903
Reviewed-by: Minux Ma <minux@golang.org>
2014-12-20 02:08:50 +00:00
Shenghou Ma fc71d7b8ca misc/chrome/gophertool: update for the git/gerrit transition
Change-Id: I7b9601ae6e1cfb18ef79a7b189aa7e689c0fe942
Reviewed-on: https://go-review.googlesource.com/1621
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-18 07:34:46 +00:00
Andrew Gerrand ab96371817 misc/makerelease: fix build
Fixes #9308

Change-Id: I0121adbbecc893eb93afc3321ecff97ea146d150
Reviewed-on: https://go-review.googlesource.com/1560
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-15 01:55:29 +00:00
Andrew Gerrand e5ee9a824d misc/makerelease: remove mercurial-specific special case
Change-Id: I2ae40e63bc78f3b6e4eb68ccbc928368db1e606f
Reviewed-on: https://go-review.googlesource.com/1535
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-14 23:54:15 +00:00
Brad Fitzpatrick 2d02ff278c misc/chrome/gophertool: update URLs from code.google.com to new homes
Change-Id: I46bf9f1b84a331cabce2d3417b2b59ccb83d00fa
Reviewed-on: https://go-review.googlesource.com/1532
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-13 10:18:27 +00:00
Andrew Gerrand a56a3876e8 misc/makerelease: handle git sub-repositories
Also: checkout sub-repos from Mercurial manually
instead of using "go get". (for the 1.4 release)

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/190720043
2014-12-11 17:36:39 +11:00
Shenghou Ma 026b5bbc8b misc/cgo/test: skip test8694 on ARM.
LGTM=dave, bradfitz, rsc
R=golang-codereviews, dave, bradfitz, rsc
CC=golang-codereviews
https://golang.org/cl/185130043
2014-12-11 17:34:10 +11:00
Andrew Gerrand 508a22d5bc misc/makerelease: use new storage api, handle git sub-repos
Change-Id: I8c5b77d861aafdc594714982503da7bee053c9fe
Reviewed-on: https://go-review.googlesource.com/1291
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-10 02:08:38 +00:00
David Symonds 44ab8d95d3 undo CL 176900044 / 561398621ba7
Turns out it *is* needed because the cmd/link tests expect to find their own files.

««« original CL description
misc/nacl: exclude cmd/link from the test zip.

It does not appear to be necessary, and cmd/link does not appear in release branches.

LGTM=rsc
R=adg, rsc
CC=golang-codereviews
https://golang.org/cl/176900044
»»»

TBR=rsc
R=adg, rsc
CC=golang-codereviews
https://golang.org/cl/175870045
2014-11-17 14:21:29 +11:00
David Symonds bc949b5c20 misc/nacl: exclude cmd/link from the test zip.
It does not appear to be necessary, and cmd/link does not appear in release branches.

LGTM=rsc
R=adg, rsc
CC=golang-codereviews
https://golang.org/cl/176900044
2014-11-17 14:04:43 +11:00
Andrew Gerrand f07ea227ee misc/makerelease: use release-branch.go1.4 for tools and tour
TBR=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/175870043
2014-11-17 11:27:53 +11:00
Russ Cox 9bc842ca18 cmd/dist: remove old misc/pprof
LGTM=dave, bradfitz, r, alex.brainman
R=r, dave, bradfitz, alex.brainman
CC=golang-codereviews
https://golang.org/cl/167350043
2014-11-09 20:20:26 -05:00
Andrew Gerrand 7f0be1f781 all: use golang.org/x/... import paths
LGTM=rsc, r
R=r, rsc
CC=golang-codereview, golang-codereviews
https://golang.org/cl/168050043
2014-11-10 09:15:57 +11:00
Alan Donovan 182ec4395e misc/cgo/test: fix freebsd test failure by moving test to its own package.
(The assertion depends on a per-package gensym counter whose
value varies based on what else is in the package.)

LGTM=khr
R=khr, rsc
CC=golang-codereviews
https://golang.org/cl/169930043
2014-11-03 13:41:03 -05:00
Benoit Sigoure 8e01fc7e9b misc: Increase issue 6997's test timeout to prevent spurious failures.
On heavily loaded build servers, a 5 second timeout is too aggressive,
which causes this test to fail spuriously.

LGTM=iant
R=iant
CC=golang-codereviews, sqweek
https://golang.org/cl/170850043
2014-11-01 08:28:09 -07:00
Alan Donovan a14ae44517 misc/cgo/test: fix bad C test code that fails on some configurations
LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/169800043
2014-10-30 14:08:55 -04:00
Alan Donovan 09f6f05c1f cmd/cgo: avoid worklist nondeterminism.
+ Regression test.

Fixes #9026.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/162490043
2014-10-30 14:01:14 -04:00
Emil Hessman 78082dfa80 misc/makerelease/windows: fix 404 help URL in installer
ARPHELPLINK yields 404; update the URL.

While here, also prefix the ARPREADME and ARPURLINFOABOUT URL's with the HTTP scheme to make 'em clickable links in the Add or Remove Programs listing.

LGTM=adg
R=golang-codereviews
CC=adg, golang-codereviews
https://golang.org/cl/154580045
2014-10-27 12:43:14 +11:00
Jens Frederich 1e30bb027a misc/makerelease: set version number in Windows installer
Set correct version number at Windows installer based on
Go's Mercurial tag.

Name                                     | Version
------------------------------------------------
Go Programming Language amd64 go1.3.3    | 1.3.3
Go Programming Language amd64 go1.2rc3   | 1.2
Go Programming Language amd64 go1.2beta1 | 1.2

Fixes #8239.

LGTM=adg
R=adg, c.emil.hessman, alex.brainman
CC=golang-codereviews
https://golang.org/cl/160950044
2014-10-22 10:56:26 +11:00
Chris Manghane 343d113610 cmd/go: add '_go_' suffix to go files compiled by gccgo to avoid naming conflicts
Fixes #8828.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/154410043
2014-10-15 13:13:37 -07:00
Alex Brainman d704bb0dc9 cmd/ld: do not assume that only pe section names start with '.'
Our current pe object reader assumes that every symbol starting with
'.' is section. It appeared to be true, until now gcc 4.9.1 generates
some symbols with '.' at the front. Change that logic to check other
symbol fields in addition to checking for '.'. I am not an expert
here, but it seems reasonable to me.

Added test, but it is only good, if tested with gcc 4.9.1. Otherwise
the test PASSes regardless.

Fixes #8811.
Fixes #8856.

LGTM=jfrederich, iant, stephen.gutekanst
R=golang-codereviews, jfrederich, stephen.gutekanst, iant
CC=alex.brainman, golang-codereviews
https://golang.org/cl/152410043
2014-10-11 22:01:04 +11:00
Alex Brainman 9ca8368444 misc/cgo/test: add Test8517
CL 145890044 did not provide test. Rectify that.

Update #8517

LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/148790043
2014-10-09 16:10:51 +11:00
Russ Cox 685204747d runtime: fix _cgo_allocate(0)
Fixes a SWIG bug reported off-list.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/155990043
2014-10-07 16:27:40 -04:00
Russ Cox 4630218538 misc/cgo/test: fail issue 7978 with clearer error when GOTRACEBACK != 2
The test doesn't work with GOTRACEBACK != 2.
Diagnose that failure mode.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://golang.org/cl/152970043
2014-10-03 16:42:18 -04:00
Mikio Hara 6587557660 misc/nacl/README: fix typo
LGTM=dave
R=golang-codereviews, dave
CC=golang-codereviews
https://golang.org/cl/151870043
2014-10-01 09:16:55 +09:00
Alan Donovan 74b8693c54 cmd/cgo: add missing ast.SliceExpr.Max case to AST traversal.
+ static test

NB: there's a preexisting (dynamic) failure of test issue7978.go.

LGTM=iant
R=rsc, iant
CC=golang-codereviews
https://golang.org/cl/144650045
2014-09-30 16:08:04 -04:00
Keith Randall 1b6807bb06 cgo: adjust return value location to account for stack copies.
During a cgo call, the stack can be copied.  This copy invalidates
the pointer that cgo has into the return value area.  To fix this
problem, pass the address of the location containing the stack
top value (which is in the G struct).  For cgo functions which
return values, read the stktop before and after the cgo call to
compute the adjustment necessary to write the return value.

Fixes #8771

LGTM=iant, rsc
R=iant, rsc, khr
CC=golang-codereviews
https://golang.org/cl/144130043
2014-09-25 07:59:01 -07:00
Russ Cox 5917692b98 debug/dwarf: correct name for clang-generated complex type
Fixes #8694.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/143570043
2014-09-24 16:53:47 -04:00
Russ Cox a0785a53ad cmd/go: prohibit C sources files unless using cgo
Those C files would have been compiled with 6c.
It's close to impossible to use C correctly anymore,
and the C compilers are going away eventually.
Make them unavailable now.

go1.4.txt change in CL 145890046

LGTM=iant
R=iant
CC=golang-codereviews, r
https://golang.org/cl/149720043
2014-09-24 15:10:38 -04:00
Hector Martin Cantero 7283e08cbf runtime: keep g->syscallsp consistent after cgo->Go callbacks
Normally, the caller to runtime.entersyscall() must not return before
calling runtime.exitsyscall(), lest g->syscallsp become a dangling
pointer. runtime.cgocallbackg() violates this constraint. To work around
this, save g->syscallsp and g->syscallpc around cgo->Go callbacks, then
restore them after calling runtime.entersyscall(), which restores the
syscall stack frame pointer saved by cgocall. This allows the GC to
correctly trace a goroutine that is currently returning from a
Go->cgo->Go chain.

This also adds a check to proc.c that panics if g->syscallsp is clearly
invalid. It is not 100% foolproof, as it will not catch a case where the
stack was popped then pushed back beyond g->syscallsp, but it does catch
the present cgo issue and makes existing tests fail without the bugfix.

Fixes #7978.

LGTM=dvyukov, rsc
R=golang-codereviews, dvyukov, minux, bradfitz, iant, gobot, rsc
CC=golang-codereviews, rsc
https://golang.org/cl/131910043
2014-09-24 13:20:25 -04:00
Russ Cox fc46931442 runtime: remove untyped allocation of ParFor
Now it's two allocations. I don't see much downside to that,
since the two pieces were in different cache lines anyway.

Rename 'conservative' to 'cgo_conservative_type' and make
clear that _cgo_allocate is the only allowed user.

This depends on CL 141490043, which removes the other
use of conservative (in defer).

LGTM=dvyukov, iant
R=khr, dvyukov, iant
CC=golang-codereviews, rlh
https://golang.org/cl/139610043
2014-09-16 11:03:11 -04:00
Russ Cox de4964a78c build: more adjustments for move from src/pkg to src
These were missed in CL 134570043.

Fixes nacl, solaris builds.

TBR=r
CC=golang-codereviews
https://golang.org/cl/136320043
2014-09-08 00:22:40 -04:00
Russ Cox 220a6de47e build: adjustments for move from src/pkg to src
This CL adjusts code referring to src/pkg to refer to src.

Immediately after submitting this CL, I will submit
a change doing 'hg mv src/pkg/* src'.
That change will be too large to review with Rietveld
but will contain only the 'hg mv'.

This CL will break the build.
The followup 'hg mv' will fix it.

For more about the move, see golang.org/s/go14nopkg.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/134570043
2014-09-08 00:06:45 -04:00
Russ Cox 7230db9ef8 misc/makerelease: make goimports-safe
LGTM=bradfitz
R=adg, bradfitz, minux
CC=golang-codereviews
https://golang.org/cl/140310045
2014-09-06 21:10:06 -04:00
Keith Randall dbed4e9b4f runtime: get rid of other Go->C calls in test exports.
testSchedLocal* tests need to malloc now because their
stack frames are too big to fit on the G0 stack.

LGTM=iant
R=golang-codereviews, iant, khr
CC=golang-codereviews
https://golang.org/cl/133660043
2014-09-06 10:07:23 -07:00
Russ Cox f8f630f5ec runtime: use reflect.call during panic instead of newstackcall
newstackcall creates a new stack segment, and we want to
be able to throw away all that code.

LGTM=khr
R=khr, iant
CC=dvyukov, golang-codereviews, r
https://golang.org/cl/139270043
2014-09-05 16:51:45 -04:00
Russ Cox fcbe51c9e3 misc/cgo/test: make issue5548 test pickier
If there is doubt about passing arguments correctly
(as there is in this test), there should be doubt about
getting the results back intact too. Using 0 and 1
(especially 0 for success) makes it easy to get a PASS
accidentally when the return value is not actually
being propagated. Use less common values.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://golang.org/cl/141110043
2014-09-05 14:59:09 -04:00
Russ Cox cb767247ca runtime: refactor/fix asmcgocall/asmcgocall_errno
Instead of making asmcgocall call asmcgocall_errno,
make both load args into registers and call a shared
assembly function.

On amd64, this costs 1 word in the asmcgocall_errno path
but saves 3 words in the asmcgocall path, and the latter
is what happens on critical nosplit paths on Windows.

On arm, this fixes build failures: asmcgocall was writing
the arguments for asmcgocall_errno into the wrong
place on the stack. Passing them in registers avoids the
decision entirely.

On 386, this isn't really needed, since the nosplit paths
have twice as many words to work with, but do it for consistency.

Update #8635
Fixes arm build (except GOARM=5).

TBR=iant
CC=golang-codereviews
https://golang.org/cl/134390043
2014-09-04 00:01:55 -04:00
Russ Cox 54138e1ac3 cmd/cgo, runtime: write cgo stub wrappers in Go, not C
LGTM=alex.brainman, iant
R=golang-codereviews, alex.brainman, iant
CC=dvyukov, golang-codereviews, khr, r
https://golang.org/cl/139070043
2014-09-03 11:36:14 -04:00
Ian Lance Taylor 709096f185 misc/cgo/testcdefs: comment out test of packed structs
The [568]c compilers no longer support packed structs, so
using them with -cdefs no longer works.  Just commenting out
the test, rather than removing it, in case this needs to be
handled.  It may be that -cdefs can go away entirely in the
future, in which case so can this directory.

LGTM=mdempsky
R=rsc, mdempsky
CC=golang-codereviews
https://golang.org/cl/136030043
2014-08-31 22:59:43 -04:00
Matthew Dempsky f2e7fa9d77 misc/cgo/test: disable issue 8428 regress test on darwin
Clang 3.2 and older (as shipped with OS X Mountain Lion and older)
outputs ambiguous DWARF debug info that makes it impossible for us to
reconstruct accurate type information as required for this test.

Fixes #8611.

LGTM=rsc
R=r, rsc, minux
CC=golang-codereviews
https://golang.org/cl/135990043
2014-08-28 22:40:57 -04:00
Matthew Dempsky 2c110a11e0 cmd/{ld,link,objdump}, runtime, debug/gosym: move linker-defined symbols into runtime package
Fixes #8092.

LGTM=rsc
R=iant, rsc
CC=golang-codereviews
https://golang.org/cl/126790043
2014-08-27 20:15:05 -04:00
Dave Cheney 84b70df44c misc/nacl: fix build
Add gofmt.go and gofmt_test.go as they are part of the test data set.

See CL 130440043.

LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews
https://golang.org/cl/132820044
2014-08-22 18:36:01 +10:00
Dmitriy Vyukov fb0b923f67 misc/nacl: add debugging instructions
LGTM=dave, minux
R=golang-codereviews, dave, minux
CC=golang-codereviews, rsc
https://golang.org/cl/122570043
2014-08-15 20:51:44 +04:00
Matthew Dempsky ba30c082c0 cmd/cgo: check for compiler errors in the C preamble
E.g., here's the new "go build" output:

$ go build misc/cgo/errors/issue8442.go
# command-line-arguments
could not determine kind of name for C.issue8442foo

gcc errors for preamble:
misc/cgo/errors/issue8442.go:11:19: error: unknown type name 'UNDEF'

Fixes #8442.

LGTM=iant
R=iant, alex.brainman
CC=golang-codereviews
https://golang.org/cl/129160043
2014-08-14 09:21:58 -07:00
Matthew Dempsky 078a9cbc6c cmd/cgo, debug/dwarf: fix translation of zero-size arrays
In cgo, now that recursive calls to typeConv.Type() always work,
we can more robustly calculate the array sizes based on the size
of our element type.

Also, in debug/dwarf, the decision to call zeroType is made
based on a type's usage	within a particular struct, but dwarf.Type
values are cached in typeCache, so the modification might affect
uses of the type in other structs.  Current compilers don't appear
to share DWARF type entries for "[]foo" and "[0]foo", but they also
don't consistently share type entries in other cases.  Arguably
modifying the types is an improvement in some cases, but varying
translated types according to compiler whims seems like a bad idea.

Lastly, also in debug/dwarf, zeroType only needs to rewrite the
top-level dimension, and only if the rest of the array size is
non-zero.

Fixes #8428.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/127980043
2014-08-13 11:16:30 -07:00
Andrew Gerrand 00b75a237a misc/makerelease: exit with nonzero status code on error
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/129040043
2014-08-13 14:00:10 +10:00
Matthew Dempsky 11016f62d8 cmd/cgo: make C function pointers non-assignable
Fixes #7757.
Fixes #8488.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/118690044
2014-08-12 12:55:12 -07:00
Matthew Dempsky 31a996edb6 cmd/cgo: fix default alignment for empty structs
Fixes #5242.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/125120043
2014-08-11 22:10:17 -07:00
Shenghou Ma 2a37efbe1e misc/nacl/testzip.proto: add fewer files to the zip
LGTM=bradfitz, rsc
R=rsc, iant, bradfitz
CC=golang-codereviews
https://golang.org/cl/126940043
2014-08-11 16:56:36 -04:00
Shenghou Ma be96e52cce misc/nacl/testzip.proto: include cmd/internal/* to fix build
LGTM=adg, dave
R=golang-codereviews, adg, dave
CC=golang-codereviews
https://golang.org/cl/123050043
2014-08-07 21:48:34 -04:00
Ian Lance Taylor 7fdb0292a5 cmd/go: pass --build-id=none when generating a cgo .o
Some systems, like Ubuntu, pass --build-id when linking.  The
effect is to put a note in the output file.  This is not
useful when generating an object file with the -r option, as
it eventually causes multiple build ID notes in the final
executable, all but one of which are for tiny portions of the
file and are therefore useless.

Disable that by passing an explicit --build-id=none when
linking with -r on systems that might do this.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/119460043
2014-08-07 12:38:39 -07:00
Andrew Gerrand cfed26c7ce misc/nacl: wrap lines in README file
LGTM=dan.kortschak, dave
R=dave, dan.kortschak
CC=golang-codereviews
https://golang.org/cl/121350043
2014-08-07 11:50:27 +10:00
Matthew Dempsky 2b9f3fcead cmd/cgo: consistently map void* to *byte under -{c,go}defs
Fixes #8478.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/122150043
2014-08-06 10:28:19 -07:00
Matthew Dempsky 0da4b2dbc2 cmd/cgo: fix recursive type mapping
Instead of immediately completing pointer type mappings, add them to
a queue to allow them to be completed later.  This fixes issues	caused
by Type() returning arbitrary in-progress type mappings.

Fixes #8368.
Fixes #8441.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/122850043
2014-08-05 18:16:56 -07:00
Matthew Dempsky f7a8adbd51 cmd/cgo: fix handling of defs_linux.go
Instead of including <sys/types.h> to get size_t, instead include
the ISO C standard <stddef.h> header, which defines fewer additional
types at risk of colliding with the user code.  In particular, this
prevents collisions between <sys/types.h>'s userspace definitions with
the kernel definitions needed by defs_linux.go.

Also, -cdefs mode uses #pragma pack, so we can keep misaligned fields.

Fixes #8477.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/120610043
2014-08-05 18:12:32 -07:00
Ian Lance Taylor f2f17c0ff2 cmd/cgo: for -godefs, promote first field of anonymous union
Update #6677

When a struct contains an anonymous union, use the type and
name of the first field in the union.

This should make the glibc <sys/resource.h> file work; in that
file struct rusage has fields like

__extension__ union
{
        long int ru_maxrss;
        __syscall_slong_t __ru_maxrss_word;
};

in which the field that matters is ru_maxrss and
__ru_maxrss_word just exists to advance to the next field on
systems where the kernel uses long long fields but userspace
expects long fields.

LGTM=mikioh.mikioh
R=golang-codereviews, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/106260044
2014-08-05 17:10:15 -07:00
ChaiShushan 8cb040771b misc/pprof: support web profiles on windows/MinGW
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/117060043
2014-07-23 10:35:04 -07:00
Shenghou Ma 040eeff71c undo CL 109640045 / f97fb06525e5
Breaks build for FreeBSD. Probably clang related?

««« original CL description
cmd/cgo: disable inappropriate warnings when the gcc struct is empty

package main
//#cgo CFLAGS: -Wall
//void test() {}
import "C"
func main() {
    C.test()
}

This code will cause gcc issuing warnings about unused variable.

This commit use offset of the second return value of
Packages.structType to detect whether the gcc struct is empty,
and if it's directly invoke the C function instead of writing an
unused code.

LGTM=dave, minux
R=golang-codereviews, iant, minux, dave
CC=golang-codereviews
https://golang.org/cl/109640045

»»»

TBR=dfc
R=dave
CC=golang-codereviews
https://golang.org/cl/114990044
2014-07-18 02:59:54 -04:00
snyh 086df1dc77 cmd/cgo: disable inappropriate warnings when the gcc struct is empty
package main
//#cgo CFLAGS: -Wall
//void test() {}
import "C"
func main() {
    C.test()
}

This code will cause gcc issuing warnings about unused variable.

This commit use offset of the second return value of
Packages.structType to detect whether the gcc struct is empty,
and if it's directly invoke the C function instead of writing an
unused code.

LGTM=dave, minux
R=golang-codereviews, iant, minux, dave
CC=golang-codereviews
https://golang.org/cl/109640045
2014-07-18 02:47:21 -04:00
Shenghou Ma 0829533b6e misc/nacl: add go_nacl_arm_exec, update README
LGTM=dave, rsc
R=rsc, iant, dave
CC=golang-codereviews
https://golang.org/cl/109390043
2014-07-10 15:15:32 -04:00
David Crawshaw a5f8e8f99c androidtest.bash, misc/android: build scripts for android
LGTM=minux
R=minux
CC=golang-codereviews
https://golang.org/cl/107640044
2014-07-09 06:56:49 -04:00
Shenghou Ma bbe5c93e93 misc/nacl, syscall: lazily initialize fs on nacl.
On amd64, the real time is reduced from 176.76s to 140.26s.
On ARM, the real time is reduced from 921.61s to 726.30s.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/101580043
2014-07-01 18:24:43 -04:00
Rob Pike ddbefae97e misc: delete editor and shell support
We are not the right people to support editor plugins, and the profusion
of editors in this CL demonstrates the unreality of pretending to do so.
People are free to create and advertise their own repos with support.

For discussion: https://groups.google.com/forum/#!topic/golang-dev/SA7fD470FxU

LGTM=rminnich, kamil.kisiel, gri, rsc, dave, josharian, ruiu
R=golang-codereviews, rminnich, kamil.kisiel, gri, rsc, dominik.honnef, dave, josharian, ruiu, ajstarks
CC=golang-codereviews
https://golang.org/cl/105470043
2014-07-01 09:21:25 -07:00
Dominik Honnef 933f272e71 misc/emacs: add new function godoc-at-point
LGTM=adonovan
R=adonovan, ruiu
CC=golang-codereviews
https://golang.org/cl/107160048
2014-06-17 15:52:29 -04:00
Dominik Honnef 2005bea7fd misc/emacs: replace hacky go--delete-whole-line with own implementation
Using flet to replace kill-region with delete-region was a hack,
flet is now (GNU Emacs 24.3) deprecated and at least two people
have reported an issue where using go--delete-whole-line would
permanently break their kill ring. While that issue is probably
caused by faulty third party code (possibly prelude), it's easier
to write a clean implementation than to tweak the hack.

LGTM=ruiu, adonovan
R=adonovan, ruiu
CC=adg, golang-codereviews
https://golang.org/cl/106010043
2014-06-17 14:43:35 -04:00
Andrew Gerrand 09576bc695 misc/makerelease: update default tag to release-branch.go1.3
TBR=bradfitz
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/104090044
2014-06-12 13:29:22 +10:00
Shenghou Ma 3ad9df0422 nacltest.bash, misc/nacl/README: update NaCl docs.
LGTM=rsc
R=dave, rsc
CC=golang-codereviews
https://golang.org/cl/105030043
2014-06-10 20:20:49 -04:00
Ian Lance Taylor c22ed1290c cmd/cgo: for typedef of untagged struct, use typedef name in C code
Fixes #8148.

LGTM=cookieo9, rsc
R=rsc, cookieo9
CC=golang-codereviews
https://golang.org/cl/103080043
2014-06-05 10:42:03 -07:00
Ian Lance Taylor 4e65f18cae cmd/cgo: use same Go type for typedef to anonymous struct
If we see a typedef to an anonymous struct more than once,
presumably in two different Go files that import "C", use the
same Go type name.

Fixes #8133.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/102080043
2014-06-02 12:55:43 -07:00
Andrew Gerrand bb824b6a0f misc/makerelease: fix secret
Not sure how this snuck in undetected.

TBR=bradfitz
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/106760043
2014-06-02 16:26:08 +10:00
Andrew Gerrand 865904f6d8 misc/makerelease: report uploads to the new downloads page
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/102040047
2014-06-02 12:46:03 +10:00
Andrew Gerrand f836082566 misc/goplay: remove program
This program has barely been touched since it was first committed,
and in its current state it opens a code execution vector similar
to the one that was recently fixed in go.tools/playground/socket.

Rather than try to make it secure, remove it.

LGTM=minux, rsc
R=rsc, minux
CC=golang-codereviews
https://golang.org/cl/102030047
2014-06-02 08:34:26 +10:00
Andrew Gerrand 0627fa84b7 misc/makerelease: upload files to Google Cloud Storage
LGTM=bradfitz
R=jasonhall, bradfitz
CC=golang-codereviews
https://golang.org/cl/91700047
2014-05-29 08:40:15 +10:00
Russ Cox 0782ee3ad5 cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable
For incomplete struct S, C.T and C.struct_S were interchangeable in Go 1.2
and earlier, because all incomplete types were interchangeable
(even C.struct_S1 and C.struct_S2).

CL 76450043, which fixed issue 7409, made different incomplete types
different from Go's point of view, so that they were no longer completely
interchangeable.

However, imprecision about C.T and C.struct_S - really the same
underlying C type - is the one behavior enabled by the bug that
is most likely to be depended on by existing cgo code.
Explicitly allow it, to keep that code working.

Fixes #7786.

LGTM=iant, r
R=golang-codereviews, iant, r
CC=golang-codereviews
https://golang.org/cl/98580046
2014-05-28 14:04:31 -04:00
Dmitriy Vyukov 0a8ce65c7a misc: properly spell Chrome in doc
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/99440046
2014-05-26 19:20:45 +04:00
Ian Lance Taylor f85600859d cmd/ld: really import runtime/cgo for external link
Fixes #8032.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/95580043
2014-05-20 21:36:50 -07:00
Russ Cox 0c2a727477 build: make nacl pass
Add nacl.bash, the NaCl version of all.bash.
It's a separate script because it builds a variant of package syscall
with a large zip file embedded in it, containing all the input files
needed for tests.

Disable various tests new since the last round, mostly the ones using os/exec.

Fixes #7945.

LGTM=dave
R=golang-codereviews, remyoudompheng, dave, bradfitz
CC=golang-codereviews
https://golang.org/cl/100590044
2014-05-20 12:10:19 -04:00
Andrew Gerrand 9cd759aecc misc/makerelease: handle update tour file layout
Fixes #7835.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/94670044
2014-05-20 15:52:08 +10:00
Alex Brainman fcfc17f1b8 misc/pprof: always use go tool objdump on windows
Fixes #7406.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/97440043
2014-05-15 15:54:42 +10:00
Russ Cox 2d1a9510ed cmd/cgo: omit misaligned struct fields, like we omit bitfields
Fixes #7560.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/96300045
2014-05-12 23:48:20 -04:00
Russ Cox e5c105033a cmd/gc: disable link-time copying of un-Go-initialized globals
If you write:

        var x = 3

then the compiler arranges for x to be initialized in the linker
with an actual 3 from the data segment, rather than putting
x in the bss and emitting init-time "x = 3" assignment code.

If you write:

        var y = x
        var x = 3

then the compiler is clever and treats this the same as if
the code said 'y = 3': they both end up in the data segment
with no init-time assignments.

If you write

        var y = x
        var x int

then the compiler was treating this the same as if the
code said 'x = 0', making both x and y zero and avoiding
any init-time assignment.

This copying optimization to avoid init-time assignment of y
is incorrect if 'var x int' doesn't mean 'x = 0' but instead means
'x is initialized in C or assembly code'. The program ends up
with 'y = 0' instead of 'y = the value specified for x in that other code'.

Disable the propagation if there is no initializer for x.

This comes up in some uses of cgo, because cgo generates
Go globals that are initialized in accompanying C files.

Fixes #7665.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/93200044
2014-05-09 16:03:44 -04:00
Shenghou Ma 6be21b9f02 misc/vim/readme.txt: workaround weird OS X vim bug.
The vi bundled with OS X has a weird bug in that if you turn off
filetype in .vimrc when it's not turned on, even a clean exit of
vi will return 1 which breaks almost everything.

While we're at it, add hint to change $GOROOT to its actual value
in .vimrc.

Fixes #7865.

LGTM=robert.hencke, dsymonds
R=golang-codereviews, robert.hencke, gobot, dsymonds
CC=golang-codereviews
https://golang.org/cl/96800046
2014-04-28 14:24:14 -04:00
Ian Lance Taylor 9fc6c0598b misc/cgo/test/backdoor: add gccgo version of backdoor function
For the gc compiler the Go function Issue7695 is defined in
runtime.c, but there is no way to do that for gccgo, because
there is no way to get the correct pkgpath.  The test is not
important for gccgo in any case.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/93870044
2014-04-26 22:31:32 -07:00
Russ Cox dc370995a8 test: demo for issue 7695
Cgo writes C function declarations pretending every arg is a pointer.
If the C function is deferred, it does not inhibit stack copying on split.
The stack copying code believes the C declaration, possibly misinterpreting
integers as pointers.

Probably the right fix for Go 1.3 is to make deferred C functions inhibit
stack copying.

For Go 1.4 and beyond we probably need to make cgo generate Go code
for 6g here, not C code for 6c.

Update #7695

LGTM=khr
R=khr
CC=golang-codereviews
https://golang.org/cl/83820043
2014-04-16 23:06:37 -04:00
Rui Ueyama 3d63ec240e misc/emacs: ignore backquote in comment or string
go-mode on Emacs 23 wrongly recognizes a backquote in a comment or
a string as a start of a raw string literal. Below is an example
that go-mode does not work well. This patch is to fix that issue.

  // `
  var x = 1
  // `

LGTM=dominik.honnef
R=golang-codereviews, dominik.honnef, adonovan
CC=golang-codereviews
https://golang.org/cl/84900043
2014-04-09 12:28:27 -04:00
Russ Cox f8c25b62b8 benchcmp: leave a forwarding script
People (like me!) will still try to run misc/benchcmp
and wonder where it went. Tell them.

LGTM=bradfitz
R=golang-codereviews, bradfitz, dave
CC=adg, golang-codereviews, r
https://golang.org/cl/82710043
2014-03-31 16:39:41 -04:00
Rui Ueyama 5f5e280e14 misc/emacs: do not highlight built-in function if not followed by '('
Name of built-in function is not reserved word in Go, and you can
use it as variable name. "new" is often used as local variable, for
instance.

This patch is to apply font-lock-builtin-face only when built-in
function name is followed by '(', so that it doesn't highlight
non-function variable that happen to have the same name as built-in
function.

LGTM=dominik.honnef
R=golang-codereviews, dominik.honnef, adonovan
CC=golang-codereviews
https://golang.org/cl/79260043
2014-03-27 17:35:07 -04:00
Daniel Morsing 0f82cfd3f0 cmd/cgo: enforce typing of 0-sized types
cgo represents all 0-sized and unsized types internally as [0]byte. This means that pointers to incomplete types would be interchangable, even if given a name by typedef.

Fixes #7409.

LGTM=iant
R=golang-codereviews, bradfitz, iant
CC=golang-codereviews
https://golang.org/cl/76450043
2014-03-27 20:23:16 +00:00
Rui Ueyama 444dd26bf4 misc/emacs: handle backslash in raw string in Emacs 23
Go-mode in Emacs 23 does not recognize a backslash followed
by a backquote as end of raw string literal, as it does not
support syntax-propertize-function which Go-mode uses to
remove special meaning from backslashes in ``.

This patch provides a fallback mechanism to do the same thing
using font-lock-syntactic-keywords, which is supported by
Emacs 23.

LGTM=dominik.honnef
R=golang-codereviews, dominik.honnef
CC=adonovan, golang-codereviews
https://golang.org/cl/78730048
2014-03-27 15:22:52 -04:00
Rui Ueyama 6119dc1b52 misc/bash, misc/zsh: fix completion rules
This patch includes fixes pointed out in CL 52140043, which was
originally written by john.gosset.

LGTM=minux.ma
R=golang-codereviews, minux.ma
CC=golang-codereviews
https://golang.org/cl/80320043
2014-03-27 00:29:55 -04:00
David Barnett 3eb591ff76 misc/vim: Disable automatic line wrapping by textwidth.
If someone configures a 'textwidth' in go files, vim will by default insert
newlines into long lines as you type, which breaks syntax and doesn't really
make sense for go code. This fixes the default.

LGTM=dsymonds
R=golang-codereviews, gobot, dsymonds
CC=golang-codereviews
https://golang.org/cl/76890046
2014-03-26 13:51:16 +11:00
Dave Cheney 9cb4963d18 misc/nacl: add Native Client support scripts and documentation
LGTM=josharian, dan.kortschak
R=golang-codereviews, josharian, dan.kortschak
CC=golang-codereviews
https://golang.org/cl/75080043
2014-03-24 12:34:09 +11:00
Rui Ueyama 50f1e1a6b9 misc/bash/go: remove "doc" subcommand autocompletion
"go doc" has been removed in CL 17799.

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/77420045
2014-03-18 21:01:23 -07:00
Rui Ueyama 2940dd4bf4 misc/bash/go: Add a completion rule for "go env".
"env" is a valid go command. This patch is to make bash to autocomplete it.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/74660045
2014-03-17 11:58:02 -07:00
Dominik Honnef e9ba9470bc misc/emacs: correctly fontify methods when go-fontify-function-calls is nil
We were fontifying the wrong part of method declarations

LGTM=adonovan
R=adonovan
CC=golang-codereviews
https://golang.org/cl/66120043
2014-03-12 11:02:42 -04:00
Andrew Gerrand 9d1940bc74 misc/makerelease: use windows installer resources from local goroot
This broke when we renamed the tool, and I missed this fix when I
fixed darwin last week.

LGTM=minux.ma, bradfitz
R=golang-codereviews, minux.ma, bradfitz
CC=golang-codereviews
https://golang.org/cl/70670043
2014-03-03 12:50:29 +11:00
Andrew Gerrand 8d2465ab50 go/misc/makerelease: pin go-tour repo to a specific revision
We're about to commit some wide-sweeping changes to the go-tour and I
would rather not include them in Go 1.2.1, which is due in the next
week or so.

Also fix the makerelease tool; it has been broken since it was
renamed from bindist.

LGTM=campoy
R=campoy
CC=golang-codereviews
https://golang.org/cl/68780043
2014-02-28 11:09:26 +11:00
Shenghou Ma bcf3d55ed9 misc/cgo/testso: don't use TLS variables on Darwin and OpenBSD.
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
2014-02-23 20:37:43 -05:00
Shenghou Ma d4a9bbef51 cmd/ld: don't emit unreachable dynimport symbols in ELF symtab.
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
2014-02-23 16:20:40 -05:00
Dominik Honnef cce25c88ce misc/emacs: add support for ff-find-other-file
c-mode classically uses ff-find-other-file to toggle between headers
and implementation. For Go it seemingly makes sense to jump between
implementation and test.

While there's no enforced mapping of file names for tests, the mapping
in this CL seems to be very common at least throughout the standard
library, and ff-find-other-file fails gracefully when the mapping
doesn't apply.

LGTM=adonovan
R=adonovan
CC=golang-codereviews
https://golang.org/cl/65750044
2014-02-18 22:23:55 -05:00
Dominik Honnef 0d9b9aafd5 misc/emacs: actually use point argument that is passed to godef--call
LGTM=adonovan
R=adonovan
CC=golang-codereviews
https://golang.org/cl/62600043
2014-02-18 21:51:47 -05:00
Dmitriy Vyukov bf0d71af29 runtime: more precise mprof sampling
Better sampling of objects that are close in size to sampling rate.
See the comment for details.

LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/43830043
2014-02-12 22:36:45 +04:00
Dmitriy Vyukov fa3a2a84cc misc/pprof: support web profiles on windows
LGTM=bradfitz
R=golang-codereviews, bradfitz, alex.brainman
CC=golang-codereviews
https://golang.org/cl/61260044
2014-02-10 13:52:58 +04:00
Josh Bleecher Snyder 57bc80b5e8 cmd/go, doc/go1.3.txt: misc/benchcmp has been replaced by go tool benchcmp
Fixes #7016.

LGTM=r
R=r
CC=adg, bradfitz, dave, golang-codereviews
https://golang.org/cl/60100043
2014-02-04 11:53:13 -08:00
Ian Lance Taylor 1683dab725 cmd/ld: fix bug with "runtime/cgo" in external link mode
In external link mode the linker explicitly adds the string
constant "runtime/cgo".  It adds the string constant using the
same symbol name as the compiler, but a different format.  The
compiler assumes that the string data immediately follows the
string header, but the linker puts the two in different
sections.  The result is bad string data when the compiler
sees "runtime/cgo" used as a string constant.

The compiler assumption is in datastring in [568]g/gobj.c.
The linker layout is in addstrdata in ld/data.c.  The compiler
assumption is valid for string literals.  The linker is not
creating a string literal, so its assumption is also valid.

There are a few ways to avoid this problem.  This patch fixes
it by only doing the fake import of runtime/cgo if necessary,
and by only creating the string symbol if necessary.

Fixes #7234.

LGTM=dvyukov
R=golang-codereviews, dvyukov, bradfitz
CC=golang-codereviews
https://golang.org/cl/58410043
2014-01-30 09:25:47 -08:00
Russ Cox abd556ab70 misc/cgo/testtls: make test less flaky
Now it should always fail on ARM.
(The fix is on its way too.)

R=iant, r, dave
CC=golang-codereviews
https://golang.org/cl/55140043
2014-01-21 19:44:51 -05:00
Rowan Worth c4770b991b runtime: co-exist with NPTL's pthread_cancel.
NPTL uses SIGRTMIN (signal 32) to effect thread cancellation.
Go's runtime replaces NPTL's signal handler with its own, and
ends up aborting if a C library that ends up calling
pthread_cancel is used.

This patch prevents runtime from replacing NPTL's handler.

Fixes #6997.

R=golang-codereviews, iant, dvyukov
CC=golang-codereviews
https://golang.org/cl/47540043
2014-01-09 09:34:04 -08:00
Dominik Honnef 79653e4121 misc/emacs: fontify type switch correctly
Require at least one space after "type" and do not fontify closing
parenthesis of type switch as a type.

R=adonovan
CC=golang-codereviews
https://golang.org/cl/37720050
2014-01-06 11:11:03 -05:00
Dominik Honnef 81cab4c3d3 misc/emacs: minor cleanups
R=adonovan
CC=golang-codereviews
https://golang.org/cl/23290044
2014-01-06 10:48:06 -05:00
Yasuhiro Matsumoto 7413e48d5b misc/vim: Fix broken quote
R=golang-codereviews, gobot, dsymonds
CC=golang-codereviews
https://golang.org/cl/44960043
2013-12-24 08:40:13 +11:00
ChaiShushan 33580e8305 misc/notepadplus: Fix Function List in Notepad++ 6.5
Since version 6.5, npp change the Function List syntax for User Defined Languages.
We need use userDefinedLangName syntax in association tag in Notepad++ 6.5.

Fix issue 6735.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/22770043
2013-12-18 10:17:38 -08:00
Shenghou Ma e962f8f1c6 misc/vim: use shiftwidth() instead of &sw if available.
Fixes #6841.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/43010044
2013-12-16 20:05:48 -05:00
Andrew Gerrand dba08e0615 misc/dist: rename to makerelease
The ambiguity has gone on too long.

R=golang-dev, minux.ma, r, dsymonds
CC=golang-dev
https://golang.org/cl/39920043
2013-12-11 14:47:18 +11:00
Alex Brainman 6ede93498c misc/cgo/testcdefs: rm correct file in test.bash
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/39780043
2013-12-10 12:06:24 +11:00
Alex Brainman 6795687427 cmd/cgo: use __gcc_struct__ for go exported functions
Fixes #6833

R=minux.ma, iant
CC=golang-dev
https://golang.org/cl/35790045
2013-12-10 11:30:12 +11:00
David Symonds ee261b75e1 misc/vim: send Fmt errors to the quickfix list instead of the location list.
Output from gofmt is a list of errors, so they should appear in the error list.

R=adg
CC=golang-dev
https://golang.org/cl/33760043
2013-11-27 19:32:15 +11:00
David Symonds 74eb115b1c misc/vim: describe how to get gofmt-on-save behaviour.
Fixes #6826.

R=golang-dev, bradfitz, adg
CC=golang-dev
https://golang.org/cl/31770043
2013-11-25 11:03:47 +11:00
Andrew Gerrand 7cfcd2f87a misc/dist: fix file regexp
This step makes it possible to upload the -osx10.x binaries
separately to their construction (after signing, for example).

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/28160043
2013-11-18 13:30:25 +11:00
David Crawshaw c4f5421bc7 misc/vim: add a gofmt_command flag for :Fmt
R=dsymonds, dominik.honnef, n13m3y3r, rsc, kamil.kisiel
CC=golang-dev
https://golang.org/cl/22940044
2013-11-12 09:28:07 +11:00
Dominik Honnef 597b9c0d19 misc/emacs: various cleanups
- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler

This is identical to CL 19010044 with one exception: Making sure
it doesn't break on Emacs 22.1

R=adonovan, bradfitz, shendaras
CC=golang-dev
https://golang.org/cl/20100043
2013-11-08 15:23:12 -05:00
Sameer Ajmani 19dda5cd74 emacs: allow users to customize the gofmt command, in particular, to use goimports instead.
R=adonovan
CC=golang-dev
https://golang.org/cl/23680043
2013-11-08 11:31:44 -05:00
Russ Cox 6be1cb8c7a cmd/cgo: fix handling of array of pointers when using clang
Clang does not record the "size" field for pointer types,
so we must insert the size ourselves. We were already
doing this, but only for the case of pointer types.
For an array of pointer types, the setting of the size for
the nested pointer type was happening after the computation
of the size of the array type, meaning that the array type
was always computed as 0 bytes. Delay the size computation.

This bug happens on all Clang systems, not just FreeBSD.
Our test checked that cgo wrote something, not that it was correct.
FreeBSD's default clang rejects array[0] as a C struct field,
so it noticed the incorrect sizes. But the sizes were incorrect
everywhere.

Update testcdefs to check the output has the right semantics.

Fixes #6292.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/22840043
2013-11-07 15:24:51 -05:00
Alan Donovan 75d5c4af71 undo CL 19010044 / dbcd720e5396
bradfitz reports:
> It breaks go-mode on GNU Emacs 22.1.1 as ships with OS X 10.8.6.

««« original CL description
misc/emacs: various cleanups

- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler

R=adonovan
CC=golang-dev
https://golang.org/cl/19010044

»»»

R=bradfitz
CC=golang-dev
https://golang.org/cl/19640043
2013-10-29 22:17:14 -04:00
Dominik Honnef 22b3822da7 misc/emacs: various cleanups
- Use #' for function symbols
- Remove unused variables
- Use declare-function to shut up byte compiler

R=adonovan
CC=golang-dev
https://golang.org/cl/19010044
2013-10-29 13:07:42 -04:00
Dominik Honnef 3b0e6c21ae misc/emacs: support godef-jump on import statements
The newest version of godef supports jumping to a package's source
directory if point is on an import statement.

R=adonovan
CC=golang-dev
https://golang.org/cl/18230043
2013-10-29 11:14:56 -04:00
Andrew Gerrand e7426010c5 misc/linkcheck: better redirect handling, use meaningful exit code
Prevent linkcheck from following redirects that lead beyond the outside
the root URL.

Return a non-zero exit code when there are problems.

Some minor refactoring for clarity.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/14425049
2013-10-25 17:31:02 +03:00
Andrew Gerrand 9b321faae7 misc/dist: use go.tools release branch
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/15450047
2013-10-23 10:34:14 +04:00
Dominik Honnef 580ea8b5fd misc/emacs: handle empty "import ()" in go-goto-imports
R=adonovan
CC=golang-dev
https://golang.org/cl/14454058
2013-10-22 12:35:04 -04:00
Russ Cox dbe2eacf04 cmd/cgo: fix line number in an error message
Fixes #6563.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14870046
2013-10-18 16:52:44 -04:00
Russ Cox 06ad3b2de1 cmd/cgo: stop using compiler error message text to analyze C names
The old approach to determining whether "name" was a type, constant,
or expression was to compile the C program

        name;

and scan the errors and warnings generated by the compiler.
This requires looking for specific substrings in the errors and warnings,
which ties the implementation to specific compiler versions.
As compilers change their errors or drop warnings, cgo breaks.
This happens slowly but it does happen.
Clang in particular (now required on OS X) has a significant churn rate.

The new approach compiles a slightly more complex program
that is either valid C or not valid C depending on what kind of
thing "name" is. It uses only the presence or absence of an error
message on a particular line, not the error text itself. The program is:

        // error if and only if name is undeclared
        void f1(void) { typeof(name) *x; }

        // error if and only if name is not a type
        void f2(void) { name *x; }

        // error if and only if name is not an integer constant
        void f3(void) { enum { x = (name)*1 }; }

I had not been planning to do this until Go 1.3, because it is a
non-trivial change, but it fixes a real Xcode 5 problem in Go 1.2,
and the new code is easier to understand than the old code.
It should be significantly more robust.

Fixes #6596.
Fixes #6612.

R=golang-dev, r, james, iant
CC=golang-dev
https://golang.org/cl/15070043
2013-10-18 15:56:25 -04:00
Andrew Gerrand f5d25fd695 misc/dist: build race packages when os suffix present
The "darwin-amd64-osx10.8" target was not matching "darwin-amd64".

R=golang-dev
CC=golang-dev
https://golang.org/cl/14930043
2013-10-18 15:03:41 +09:00
Andrew Gerrand 73d7d12ea6 misc/dist: set default go.tools tag
Fixes #6607.

R=dsymonds
CC=golang-dev
https://golang.org/cl/14830043
2013-10-18 10:51:21 +09:00
Russ Cox 043ace1213 cmd/cgo: fix Xcode 5 incompatibility for #defined expressions
Ensure that clang always exits with a non-zero status by
giving it something that it always warns about (the statement "1;").

Fixes #6128.

R=golang-dev, iant, minux.ma
CC=golang-dev
https://golang.org/cl/14702043
2013-10-15 14:34:46 -04:00
Russ Cox 74f639176d misc/cgo/test: cut out non-standard functions
Otherwise the link fails. Fixes build.

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/14483050
2013-10-15 14:25:29 -04:00
Russ Cox 94bd34fe50 misc/cgo/test: fix build (define prototype for alloca)
TBR=golang-dev
CC=golang-dev
https://golang.org/cl/14454063
2013-10-15 13:46:57 -04:00
Russ Cox 56aeec31c6 cmd/cgo: work around bug in clang debug info for builtins like memset
Fixes #6506.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/14682044
2013-10-15 12:46:14 -04:00
Ian Lance Taylor cd61565ffc misc/cgo/test: fix C panic test to work with gccgo
R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14611043
2013-10-11 11:24:54 -07:00
Andrew Gerrand 5f3a7aa217 go.tools/misc/dist: copy doc.go from go.tools to go root
This will allow "godoc godoc", "godoc vet", "godoc cover" to work.

Fixes #6527.

R=r, dsymonds
CC=golang-dev
https://golang.org/cl/14566049
2013-10-11 10:37:32 +09:00
Yasuhiro Matsumoto 5516349fe7 misc/vim: complete packages in src directory
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14454059
2013-10-11 11:30:03 +11:00
Dominik Honnef 950c284b11 misc/emacs: send correct content-length to the playground
R=adonovan
CC=golang-dev
https://golang.org/cl/14548049
2013-10-10 16:49:19 -04:00
Dominik Honnef 47bb44fd5b misc/emacs: don't treat (foo)(bar) as a function call when preceded by a word character.
Fixes #6531.

R=adonovan
CC=golang-dev
https://golang.org/cl/14523043
2013-10-10 16:30:20 -04:00
Ian Lance Taylor c774e90208 cmd/go: add any .c/.cc files to the SWIG shared library
Also add the action's object directory to the list of
directories we use to find SWIG shared libraries.

Fixes #6521.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14369043
2013-10-09 10:35:46 -07:00
Ian Lance Taylor cb30917387 runtime/cgo: mark callback functions as NOSPLIT
R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/14448044
2013-10-09 08:44:47 -07:00
Russ Cox 0965459bd9 debug/dwarf: handle surprising clang encoding
Fixes a bug in cgo on OS X using clang.
See golang.org/issue/6472 for details.

Fixes #6472.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/14575043
2013-10-09 11:08:22 -04:00
Dominik Honnef 989a63eb0b misc/emacs: find unused imports where path and package name differ
The Go compiler emits extra information for this case:

imported and not used: "sandbox/foo_bar" as bar

R=adonovan
CC=golang-dev
https://golang.org/cl/14111043
2013-10-07 13:08:26 -04:00
Yasuhiro Matsumoto 45b830ed31 misc/vim: Autocompletion for :Godoc command
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14259043
2013-10-03 13:32:07 +10:00
Shenghou Ma a978b1e049 misc/dist: support building statically linked toolchain.
so that we don't need worry about specifying the required
libc version (note: as cmd/go will still be dynamically
linked to libc, we still need to perform the build on OSes
with an old enough libc. But as cmd/go doesn't rely on many
libc symbols, the situation should be significantly better).

Fixes #3564.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/14261043
2013-10-02 20:14:54 -04:00
Yasuhiro Matsumoto fcee50c46e misc/vim: Separate package and package members.
This change allow to godoc:
    :Godoc github.com/mattn/go-gtk/gtk
    :Godoc github.com/mattn/go-gtk/gtk NewWindow
    :Godoc encoding/json
    :Godoc encoding/json Marshal

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/14171043
2013-10-02 08:52:51 +10:00
Yasuhiro Matsumoto d6eada282e misc/vim: "PACKAGE DOCUMENTATION" is not hilighted
R=golang-dev, r, dsymonds
CC=golang-dev
https://golang.org/cl/14018043
2013-09-27 12:57:09 +10:00
Yasuhiro Matsumoto b128426804 misc/vim: godoc is optional. so should point installation instruction.
R=golang-dev, r, dsymonds
CC=golang-dev
https://golang.org/cl/14017043
2013-09-27 12:35:03 +10:00
Dmitriy Vyukov 39361170d4 misc/pprof: support block profile
Fixes #6347.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/13845044
2013-09-23 14:15:20 -07:00
ChaiShushan e82031618a misc/notepadplus: fix some number syntax highlight issue
notepadplus can only support some normal golang's hex and imaginary numbers.
it can't detect some special number, eg. 1./1.e/1.i/1+0.1i (omit "0" in ".0").

R=golang-dev, gvdschoot
CC=ajstarks, golang-dev
https://golang.org/cl/13401047
2013-09-23 11:35:17 +10:00
Andrew Gerrand 5ec8698862 misc/dist: add 'label' part of distro name, include blog content
This will allow us to cut binaries with names like:
        go1.2rc1.darwin-amd64-osx10.6.pkg
        go1.2rc1.darwin-amd64-osx10.8.pkg

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13629045
2013-09-19 16:51:29 +10:00
Shenghou Ma db71e1557b cmd/go: fix missing __mingw_fprintf symbol for cgo on windows
Fixes #5986.

R=golang-dev, rsc, alex.brainman
CC=golang-dev
https://golang.org/cl/13261055
2013-09-19 01:20:02 -04:00
Shenghou Ma 9add729a1f cmd/ld: handle duplicate static symbols in COFF and Mach-O files.
Fixes #5740.

R=iant, rsc, luisbebop
CC=gobot, golang-dev
https://golang.org/cl/10345046
2013-09-18 22:27:25 -04:00
Russ Cox 92dfbd3611 cmd/cgo: fix build (missing file from earlier CL)
TBR=golang-dev
CC=golang-dev
https://golang.org/cl/13700045
2013-09-16 14:21:54 -04:00
Russ Cox 647eaed93b cmd/cgo: allow C.malloc(0) always
Because we can, and because it otherwise might crash
the program if we think we're out of memory.

Fixes #6390.

R=golang-dev, iant, minux.ma
CC=golang-dev
https://golang.org/cl/13345048
2013-09-16 14:04:55 -04:00
Andrew Gerrand 73790d407c misc/dist: include cover and vet, add -tool flag to specify go.tools tag
Fixes #6356.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/13333052
2013-09-13 10:28:30 +10:00
Russ Cox 71ed6eb25a misc/cgo/test: test of issue 4339
This is not quite what that issue reports,
because this does not involve a DLL.
But I wanted to make sure this much was working.

Update #4339

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/13653043
2013-09-11 09:56:38 -04:00
Emil Hessman b6866f1945 misc/dist: Specify a version for the darwin package.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/13383045
2013-09-09 09:36:39 +10:00
Dominik Honnef b7a609b660 misc/emacs: use built-in buffer-base-buffer instead of own variable
R=adonovan
CC=golang-dev
https://golang.org/cl/13476043
2013-09-06 16:08:11 -04:00
ChaiShushan 640a57c881 misc/notepadplus: add interface to function list and use clang color in comments
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/13587043
2013-09-06 11:59:53 -07:00
Aulus Egnatius Varialus 2b44b36487 cgo: enable cgo on dragonfly
Enable cgo for dragonfly/386 and dragonfly/amd64.

R=golang-dev, jsing, iant, bradfitz
CC=golang-dev
https://golang.org/cl/13247046
2013-09-04 15:19:21 -07:00
Ian Lance Taylor f68c23e2bb cmd/cgo: don't let #cgo directives mess up line numbering
Fixes #5272.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13498046
2013-09-03 21:15:15 -07:00
Emil Hessman 8869cc159e misc/dist: remove Xcode files from the darwin binary distribution
Fixes #6132.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/12858049
2013-08-30 10:11:18 +10:00
Brad Fitzpatrick ccfe1bfd92 misc/pprof: work with either LWP::UserAgent or curl
Use either LWP::UserAgent or curl to make HTTP requests so it
works on Windows (most Perl distros include LWP::UserAgent),
and also on OS X (whose Perl at least sometimes doesn't
include LWP::UserAgent).

Fixes #6273

R=golang-dev, alex.brainman, cldorian
CC=golang-dev
https://golang.org/cl/13330044
2013-08-29 16:42:13 -07:00
Brad Fitzpatrick 2fb8022e58 misc: add linkcheck tool
Fixes #5378

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/13247044
2013-08-29 12:08:11 -07:00
Shivakumar GN daed1fee8b misc/pprof: pprof http used with net/http/pprof not working on windows/amd64
Removed posix assumptions in temporary file generation
Removed curl dependence
Changed opening of svg file

These must now work including symbol resolution.
[1] go tool pprof <prog_name> http://.../debug/pprof/profile
[2] go tool pprof http://.../debug/pprof/profile

Fixes 6177.

R=golang-dev, alex.brainman, bradfitz, kamil.kisiel
CC=golang-dev
https://golang.org/cl/13085043
2013-08-27 10:35:06 -07:00
Alan Donovan 264b73b3f2 misc/emacs: allow users to customize path of 'go' tool.
Some users have multiple Go development trees and invoke the
'go' tool via a wrapper that sets GOROOT and GOPATH based on
the current directory.  Such users should customize go-command
to point to the wrapper script.

R=dominik.honnef
CC=golang-dev
https://golang.org/cl/13233043
2013-08-27 09:47:58 -04:00
Emil Hessman 47ecd52377 misc/xcode: use `xcode-select` to determine path
If xcode-select is available, use it to determine the path to the
DVTFoundation.xcplugindata file.

Fixes #5997.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/12741047
2013-08-20 20:48:29 +10:00
Aaron France dccf651b24 misc/emacs: Detect stale coverage reports
When the coverage report file is older than the file we're
showing the coverage report for, then we show a simple message
to state this fact.

R=adonovan, dominik.honnef, bradfitz
CC=golang-dev
https://golang.org/cl/12919044
2013-08-19 16:32:00 -04:00
Dominik Honnef 29794b77dd misc/emacs: godef: print the entire description, not just the first line
When identifying structs or interfaces we really want to know
their makeup, not just their name.

R=adonovan
CC=golang-dev
https://golang.org/cl/13042043
2013-08-16 13:03:40 -04:00
Dominik Honnef 0b25ba9ced misc/emacs: allow godef to work in coverage buffers
Jumps to the same file will use the original buffer, not the
coverage buffer. Making it work for the coverage buffer isn't
worth the trouble, especially because it would break as soon as
you jump to a different file and back.

Use error instead of message so it actually terminates

R=adonovan
CC=golang-dev
https://golang.org/cl/13041043
2013-08-16 00:22:38 -04:00
Dominik Honnef c320cf85d9 misc/emacs: do not use any free variables
R=adonovan
CC=golang-dev
https://golang.org/cl/12744046
2013-08-16 00:06:19 -04:00
Dominik Honnef 5f199f2d5a misc/emacs: when defining prog-mode, define it like GNU Emacs 24 would
Fixes #6156.

R=adonovan
CC=golang-dev
https://golang.org/cl/13035043
2013-08-15 20:40:38 -07:00
Andrew Gerrand b1d64f20f2 misc/dist: don't copy godoc templates to lib/godoc
They're baked into the godoc binary now.

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/12751047
2013-08-16 13:14:13 +10:00
Dominik Honnef 3495aa298d misc/emacs: Refactor coverage code into multiple functions
Also fixes color gradient being calculated against the wrong maximum.

R=adonovan
CC=golang-dev
https://golang.org/cl/12968043
2013-08-15 22:37:16 -04:00
Dominik Honnef 3fe9b11cbb misc/emacs: Allow go-coverage to work in existing coverage buffers by reusing previous arguments
R=golang-dev, adonovan, bradfitz
CC=golang-dev
https://golang.org/cl/12721043
2013-08-14 16:03:44 -07:00
ChaiShushan 844bc6c0ac misc/notepadplus: support Calltips
Fixes #5789.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/10601043
2013-08-14 13:41:36 +10:00
Alberto García Hierro c18dc11ef2 cmd/cgo: Add support for C function pointers
* Add a new kind of Name, "fpvar" which stands for function pointer variable
* When walking the AST, find functions used as expressions and create a new Name object for them
* Track functions which are only used in expr contexts, and avoid generating bridge code for them

R=golang-dev, minux.ma, fullung, rsc, iant
CC=golang-dev
https://golang.org/cl/9835047
2013-08-13 12:42:21 -04:00
Dominik Honnef 4a0d06c4c5 misc/emacs: add support for mode=count coverage
Use the same algorithm that go tool cover uses when producing HTML
output to render coverage intensity.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12712043
2013-08-09 14:42:43 -07:00
Dominik Honnef 8a90456349 misc/emacs: clear previous overlays before adding new ones
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12578044
2013-08-09 08:56:15 -07:00
Shivakumar GN 88d544e01d misc/pprof: pprof on windows does not provide demangled names
Fixes #6034.

R=golang-dev, bradfitz, alex.brainman, dan.kortschak
CC=golang-dev
https://golang.org/cl/12311044
2013-08-09 13:42:24 +10:00
Dominik Honnef 6e5f4bab90 misc/emacs: Add support for code coverage output of go test
Renders code coverage as an overlay, replicating the look of the
HTML that go tool cover produces.

Also some cleanups.

R=adonovan, bradfitz
CC=golang-dev
https://golang.org/cl/12684043
2013-08-08 15:54:26 -07:00
ChaiShushan d3450d85ec misc/notepadplus: fix functionList regex issue
The receiver name is optional. when Method's receiver name messing,
the functionList regex can't match the Method,
e.g. `func (*T) ProtoMessage() {}`.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12530044
2013-08-08 10:57:32 -07:00
Brad Fitzpatrick d5e97ea2f5 build: change how cmd/api is run in run.bash and run.bat
In prep for Robert's forthcoming cmd/api rewrite which
depends on the go.tools subrepo, we'll need to be more
careful about how and when we run cmd/api.

Rather than implement this policy in both run.bash and
run.bat, this change moves the policy and mechanism into
cmd/api/run.go, which will then evolve.

The plan is in a TODO in run.go.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/12482044
2013-08-07 13:49:37 -07:00
ChaiShushan 7583c14be7 misc/notepadplus: simplify Function List regex
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12508043
2013-08-06 07:57:51 -07:00
Keith Randall 034d5fcc30 runtime: Use old reflect.call implementation from cgo.
Basically a partial rollback of 12053043 until I can
figure out what is really going on.
Fixes bug 6051.

R=golang-dev
CC=golang-dev
https://golang.org/cl/12496043
2013-08-05 17:53:08 -07:00
ChaiShushan 6abbbcdc75 misc/notepadplus: add Function List support
Fixes #6045.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12463043
2013-08-05 08:24:55 -07:00
Keith Randall 9cd570680b runtime: reimplement reflect.call to not use stack splitting.
R=golang-dev, r, khr, rsc
CC=golang-dev
https://golang.org/cl/12053043
2013-08-02 13:03:14 -07:00
Brad Fitzpatrick b8b48abe0f misc/dist: don't ship cmd/api
cmd/api is a tool to prevent the Go developers from breaking
the Go 1 API promise. It has no utility to end users and
doesn't run on arbitrary packages (it's always been full of
hacks for its bespoke type checker to work on the standard
library)

Robert's in-progress rewrite depends on the go.tools repo for
go/types, so we won't be able to ship this tool later
anyway. Just remove it from binary distributions.

A future change to run.bash can conditionally build & run
cmd/api, perhaps automatically fetching go/types if
necessary. I assume people don't want to vendor go/types into
a private gopath just for cmd/api.

I will need help with run.bat.

R=golang-dev, adg, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/12316043
2013-08-02 10:19:52 -07:00
Andrew Gerrand 87380415e0 misc/dist: include godoc from go.tools
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/12075045
2013-08-01 16:48:31 +10:00
Chris Manghane acd1b6317d misc/dashboard/app, misc/dashboard/builder: delete from main repo; part of move to go.tools
See also https://golang.org/cl/12180043/

R=adg
CC=golang-dev
https://golang.org/cl/12213043
2013-08-01 13:27:27 +10:00
Dmitriy Vyukov e84d9e1fb3 runtime: do not split stacks in syscall status
Split stack checks (morestack) corrupt g->sched,
but g->sched must be preserved consistent for GC/traceback.
The change implements runtime.notetsleepg function,
which does entersyscall/exitsyscall and is carefully arranged
to not call any split functions in between.

R=rsc
CC=golang-dev
https://golang.org/cl/11575044
2013-07-29 22:22:34 +04:00
Alex Brainman 6db195cae2 misc/dashboard/builder: increase cmdTimeout to 10 minutes
It takes more then 5 minutes to clone go repo
on windows-386 builder now.

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/12007043
2013-07-29 14:31:21 +10:00
David Symonds e87af8c43d misc/dashboard: don't update tip tag for release branch commits.
This will mean that sub-repositories won't get built against the
release branch. They are often not compatible because the subrepos
often run ahead of the current release (e.g. go.tools is using
new additions to go/ast, and go.net is using new things in syscall)
so there's little point in checking them against cherrypick commits
when they'll be tested against those commits on tip anyway.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/12001043
2013-07-29 12:08:19 +10:00
Dmitriy Vyukov 7da7d71cf4 misc/dashboard: fix typo in comment
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/11936045
2013-07-27 13:54:34 +04:00
ChaiShushan c44e483542 misc/notepadplus: use new User Defined Language system (UDL2)
Add missing single quotation and backslash marks.

Change dot and underscore character keyword type.
"_" is a predeclared identifier, not a operator.
"." is a selector, x.f should be one identifier highlight.
So the fix is to change it.

Fixes #5775.
Fixes #5788.
Fixes #5798.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/10480044
2013-07-27 08:12:42 +10:00
Ian Lance Taylor d9d3debee5 cmd/cgo: gccgo fixes
Don't require a full-scale callback for calls to the special
prologue functions.

Always use a simple wrapper function for C functions, so that
we can handle static functions defined in the import "C"
comment.

Disable a test that relies on gc-specific function names.

Fixes #5905.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/11406047
2013-07-25 09:53:57 -04:00
Kevin Klues f7dfeea90f cmd/cgo: Fix issue with cgo cdefs
The problem is that the cdecl() function in cmd/cgo/godefs.go isn't
properly translating the Go array type to a C array type when an
asterisk follows the [] in the array type declaration (it is perfectly
legal to put the asterisk on either side of the [] in go syntax,
depending on how you set up your pointers).

That said, the cdefs tool is only designed to translate from Go types
generated using the cgo *godefs* tool -- where the godefs tool is
designed to translate gcc-style C types into Go types. In essence, the
cdefs tool translates from gcc-style C types to Go types (via the godefs
tool), then back to kenc-style C types. Because of this, cdefs does not
need to know how to translate arbitraty Go types into C, just the ones
produced by godefs.

The problem is that during this translation process, the logic is
slightly wrong when going from (e.g.):

char *array[10];
to:
array [10]*int8;
back to:
int8 *array[10];

In the current implementation of cdecl(), the translation from the Go
type declaration back to the kenc-style declaration looks for Go
types of the form:

name *[]type;
rather than the actual generated Go type declaration of:
name []*type;

Both are valid Go syntax, with slightly different semantics, but the
latter is the only one that can ever be generated by the godefs tools.
(The semantics of the former are not directly expressible in a
single C statement -- you would have to have to first typedef the array
type, then declare a pointer to that typedef'd type in a separate
statement).

This commit changes the logic of cdecl() to look properly for, and
translate, Go type declarations of the form:
name []*type;

Additionally, the original implementation only allowed for a single
asterisk and a single sized aray (i.e. only a single level of pointer
indirection, and only one set of []) on the type, whereas the patched
version allows for an arbitrary number of both.

Tests are included in misc/cgo/testcdefs and the all.bash script has been
updated to account for these.

R=golang-dev, bradfitz, dave, iant
CC=golang-dev
https://golang.org/cl/11377043
2013-07-24 17:27:42 -07:00
Dominik Honnef 6e37bc1eec misc/emacs: replace our go-goto-opening-parenthesis with backward-up-list
R=adonovan
CC=golang-dev
https://golang.org/cl/11524045
2013-07-24 13:48:04 -04:00
Dominik Honnef 9c6fecc2da misc/emacs: Make godef-jump behave more like find-tag by supporting pop-tag-mark
Push point to the find-tag marker ring to support pop-tag-mark.

Fixes #5804.

R=adonovan
CC=golang-dev
https://golang.org/cl/11457044
2013-07-24 11:20:53 -04:00
Russ Cox 4d17efe81b misc/cgo/test: test recursive internal OS thread lock
This would have failed with CL 11663043.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/11480045
2013-07-23 14:43:55 -04:00
Dmitriy Vyukov 9fe4a9ecdd misc/cgo/test: add test for cgo callbacks with different amount of stack space available
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/11677043
2013-07-22 21:53:20 +04:00
Dominik Honnef 58ce655fd2 misc/emacs: Add godef-jump-other-window
This will behave like similar "*-other-window" functions in Emacs.

Default key bind is C-x 4 C-c C-j – while awkward, it follows both
the convention for other-window functions and the convention for
not using user- or emacs-reserved keys.

R=golang-dev, adonovan
CC=golang-dev
https://golang.org/cl/10707045
2013-07-17 18:16:44 -04:00
Shenghou Ma 3d236aed9a misc/cgo/test: skip test for issue 3250, the runtime isn't ready yet.
see issue 5885.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10914045
2013-07-15 14:37:36 +08:00
Alexandre Normand bbb51ae3a9 dist: fix postinstall script for Darwin
The postinstall script causes the installation to fail because the last
step that copies files for Xcode is broken. Two details can cause the
command to fail:
  1. The XCODE_MISC_DIR value has a space. Without quotes in the cp
     command, cp will just complain that this is an invalid syntax.
  2. The source of the cp is a directory with two subdirectories.
     We actually want the files for either Xcode 3 or Xcode 4 to be copied.
     Using xcodebuild -version, we check for the Xcode version and
     select which of xcode/3/* or xcode/4/* should be the source
     of the copy.

Fixes #5874.

R=golang-dev, minux.ma, adg
CC=golang-dev
https://golang.org/cl/10893044
2013-07-15 10:52:38 +10:00
Shenghou Ma 39b5f3a451 misc/cgo/test: relax the threshold in test3250.
Fixes build for some slow FreeBSD/NetBSD/Darwin builder.

R=golang-dev
CC=golang-dev
https://golang.org/cl/11207043
2013-07-12 14:13:59 +08:00
Russ Cox 41fd4f988c misc/cgo/test: make test work with -linkmode=internal
The static func named thread in issue5337.go's C snippet
conflicts with the static func named thread in issue3350.go's C snippet.
I don't know why (they're both static) but I also don't care,
because -linkmode=internal only needs to be able to handle
the cgo in the standard library, and it does.

Change the test to avoid this problem.

Fixes build (after run.bash is fixed to detect the breakage).

R=minux.ma
TBR=minux.ma
CC=golang-dev
https://golang.org/cl/11201043
2013-07-11 23:24:35 -04:00
ChaiShushan 8529d99e1d misc/goplay: use `go run x.go` instead of `go build x.go`
when the program is not main package, `go run x.go` can't return the
link error message. so use `go run x.go` in instead `go build x.go`.

Fixes #5865.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/11165043
2013-07-12 09:41:10 +10:00
Shenghou Ma 2f1ead7095 runtime: correctly handle signals received on foreign threads
Fixes #3250.

R=rsc
CC=golang-dev
https://golang.org/cl/10757044
2013-07-12 04:39:39 +08:00
Andrew Gerrand 47a89693e9 misc/dist: clean files from GOPATH after building tour
Fixes #5503.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/10989043
2013-07-08 11:45:33 +10:00
Yasuhiro Matsumoto efced7c6e9 misc/vim: Allow multiple GOOS/GOARCH.
R=golang-dev, dsymonds, dominik.honnef
CC=golang-dev
https://golang.org/cl/9293043
2013-07-02 15:24:09 +10:00
David Bürgin aec6b49aae misc/vim: Add compiler plugin for Go
This change adds a basic compiler plugin for Go. The plugin
integrates "go build" with Vim's ":make" command and the
quickfix list.

Fixes #5751.

R=golang-dev, dsymonds, niklas.schnelle, 0xjnml
CC=golang-dev
https://golang.org/cl/10466043
2013-07-01 16:20:50 +10:00
Charles Lee d9f5c64f6e misc/emacs: fix godef-jump on Windows.
Fixes #5555.

R=adonovan, dominik.honnef, iant
CC=gobot, golang-dev
https://golang.org/cl/9762045
2013-06-26 13:59:25 -07:00
Dmitriy Vyukov 1579020476 misc/dashboard: show all race builders as "race"
race is more important than arch (moreover race implies x64)
don't know how to test it

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/10484046
2013-06-26 21:20:53 +04:00
ChaiShushan 6db28ee8e0 misc/{bbedit|IntelliJIDEA|kate}: add missing delete predeclared identifier
In general the description should describe what is added or fixed,
not how it was done (the code does this), but in this case the cause
was delete was missing, so the fix is to add it.

Fixes  issue 5765.

R=golang-dev, iant, r
CC=golang-dev
https://golang.org/cl/10496043
2013-06-24 13:17:56 -07:00
ChaiShushan ecdbcaf449 misc/notepadplus: add missing operator keyword
In general the description should describe what is added or fixed,
not how it was done (the code does this), but in this
case the cause were "/ /= ;" was missing,
so the fix is to add it.

Fixes #5761.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/10479043
2013-06-24 14:19:00 +10:00
ChaiShushan f0f97c1f47 misc/notepadplus: add missing delete keyword
In general the description should describe what is added or fixed, not how it was done (the code does this), but in this case the cause was delete was missing, so the fix is to add it.

Fixes #5759.

R=adg
CC=dave, dominik.honnef, gobot, golang-dev
https://golang.org/cl/10476043
2013-06-24 13:28:10 +10:00
David Bürgin c1e780c4e4 misc/vim: Added filetype settings for comments.
This basic Vim ftplugin sets the 'comments' and 'commentstring'
settings to sensible values. Future filetype settings for Go
would go in the same file.
The ftplugin was added as misc/vim/ftplugin/go/go.vim, this way
the installation instructions in readme.txt remain valid.
Fixes #5715.

R=dsymonds
CC=gobot, golang-dev
https://golang.org/cl/10323043
2013-06-18 14:59:50 +10:00
Josh Hoak b76ddefee5 misc/vim: Adding flag-guarding for Vim commands
Default behavior is the same as before, but now a user may selectively disable some commands.

Also: deleted the mappings for import.vim.

Tested: by trying the commands for fmt, import and godoc in succession to make sure they still work. Also, ran test.sh in ftplugin/go.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/10124043
2013-06-13 15:07:09 +10:00
Russ Cox d67e7e3acf runtime: add lr, ctxt, ret to Gobuf
Add gostartcall and gostartcallfn.
The old gogocall = gostartcall + gogo.
The old gogocallfn = gostartcallfn + gogo.

R=dvyukov, minux.ma
CC=golang-dev
https://golang.org/cl/10036044
2013-06-12 15:22:26 -04:00
Dmitriy Vyukov a8ad859c30 runtime: more flexible heap memory mapping on 64-bits
Fixes #5641.

R=golang-dev, dave, daniel.morsing, iant
CC=golang-dev, kcc
https://golang.org/cl/10126044
2013-06-12 18:47:16 +04:00
Shenghou Ma 949228a322 cmd/cgo: use gcc_struct attribute for packed structs to work around GCC PR52991.
Fixes #5603.

R=iant, dave
CC=gobot, golang-dev
https://golang.org/cl/9895043
2013-06-09 22:06:29 +08:00
Shenghou Ma 37c81d5870 misc/pprof: fix html5 doctype declaration
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/10099045
2013-06-09 22:01:03 +08:00
Rémy Oudompheng 902ee9ae8f misc/pprof: register cnew and runtime.cnewarray as malloc wrappers.
These functions were introduced by revision 139919984600
and should not show up on profiles for consistency.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/10003043
2013-06-05 00:40:49 +02:00
Shenghou Ma 5b097e7951 cmd/cgo: using __typeof__(a->r) instead of putting invalid TYPE in "a->r = (const TYPE)"
Thanks kballard for the hint.
Fixes #4857.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9649045
2013-06-02 22:46:53 +08:00
Anthony Martin 252161cadc misc/dashboard/builder: add environment variables for Plan 9
We require $objtype in make.rc and rc needs $path for finding commands.

Also include $cputype which we may use in the future.

R=golang-dev, minux.ma, r
CC=golang-dev
https://golang.org/cl/9905043
2013-05-31 12:18:43 -07:00
Alex Brainman 77d4347bf2 misc/dist: remove lingering ~ file
Fixes #5405.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/9856043
2013-05-30 12:11:17 +10:00
Shenghou Ma a307c5c9b7 misc/cgo/test: check API compatibility for cgo pseudo-functions
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9826043
2013-05-30 02:59:57 +08:00
Dave Cheney 2ca589d494 misc/cgo/testso: use bash to run test.bash
R=golang-dev, minux.ma, capnm9
CC=golang-dev
https://golang.org/cl/9717043
2013-05-24 07:56:01 -04:00
Ian Lance Taylor 8f7863d638 cmd/cgo: use intgo, not int, for string and slice structures
Fixes #5548.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/9643044
2013-05-23 22:51:07 -07:00
Brad Fitzpatrick 3b7dcf074f codereview: close the head tag
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/9695045
2013-05-23 14:13:39 -07:00
Dominik Honnef 4e15dbe082 misc/emacs: Do not modify kill ring when programmatically deleting text
Operations like gofmt and go-remove-unused-imports delete entire
lines of text. Previously this put them on the kill-ring,
negatively affecting user experience.

R=adonovan
CC=gobot, golang-dev
https://golang.org/cl/9605043
2013-05-23 10:19:03 -07:00
Shenghou Ma bea7b51872 cmd/go: fix LDFLAGS handling, enable misc/cgo/testso on Darwin
Fixes #5479.

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/9416047
2013-05-22 00:32:03 +08:00
Brad Fitzpatrick 09395daf2e codereview: add khr as a person
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/9459046
2013-05-21 09:02:30 -07:00
Shenghou Ma 523b3bc434 misc/dashboard/builder: handle Plan 9 in defaultSuffix()
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/9495045
2013-05-21 03:22:52 +08:00
Dave Cheney c3dbe5d24c misc/dashboard: add go.tools to list of subrepos
R=r, adg, dsymonds
CC=golang-dev
https://golang.org/cl/9535044
2013-05-19 10:04:23 +10:00
Shenghou Ma af1dd56d1b misc/cgo/test: deflake TestParallelSleep once more
Fixes #5480.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/9475043
2013-05-18 02:55:44 +08:00
Rob Pike 9e643ac20e misc/dashboard/codereview: add cshapiro and mpvl to reviewers list.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/9104052
2013-05-15 10:25:02 -07:00
Alex Brainman 3de593d94b misc/cgo/test: add missing import
Fixes windows build.

R=golang-dev
CC=golang-dev
https://golang.org/cl/9429043
2013-05-15 15:34:47 +10:00
Shenghou Ma 512ec7036e misc/cgo/test: test for issue 5337.
Test for CL 9226043.

R=golang-dev, dave, iant, bradfitz
CC=golang-dev
https://golang.org/cl/9249043
2013-05-15 12:33:29 +08:00
Dominik Honnef 72b14cbb75 misc/emacs: Add support for methods with unnamed receiver
This fixes fontification, navigation and indentation for methods
of the form `func (Foo) Bar...`

R=adonovan
CC=gobot, golang-dev
https://golang.org/cl/8951043
2013-05-14 20:23:35 -07:00
Bill Thiede 27f7e3b217 misc/vim: test.sh seems to only work on Mac OS X.
cmp(1) on FreeBSD requires two file arguments.  grep -P on Linux (at least
Ubuntu 12.04) is described in the man page as "This is highly
experimental" and doesn't seem to work. On FreeBSD the man page states
"This option  is not supported in FreeBSD."  Needed this to work while
debugging some funky behavior of 'Import' in my local vim setup.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/7675043
2013-05-14 09:54:16 -07:00
Shenghou Ma 5b78cee376 runtime: fix stack pointer corruption in runtime.cgocallback_gofunc()
runtime.setmg() calls another function (cgo_save_gm), so it must save
LR onto stack.
Re-enabled TestCthread test in misc/cgo/test.

Fixes #4863.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/9019043
2013-04-30 04:13:32 +08:00
Shenghou Ma 8c72b81132 misc/cgo/testso: enable test on windows
Depends on CL 8715043 and CL 8676050.
Fixes #5273.

R=alex.brainman, r
CC=gobot, golang-dev
https://golang.org/cl/8764043
2013-04-23 04:42:04 +08:00
Dave Cheney de2fcae372 misc/dashboard/builder: always do a native build
https://golang.org/cl/8134043 disabled cgo when cross compiling, this means builders which compile for both amd64 and 386 will be compiling the latter with cgo disabled.

This proposal modifies the builder to mirror the dist tool by always doing a native build.

Tested on my darwin/amd64 builder and confirmed the result when building darwin/386 is a native 386 build with cgo enabled.

R=bradfitz, dsymonds, r, adg
CC=golang-dev
https://golang.org/cl/8842044
2013-04-18 16:42:56 +10:00
David Symonds 67e26fceb5 misc/dashboard/builder: include $USER in build environment.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8821046
2013-04-18 11:04:20 +10:00
Shenghou Ma a4196bb6c8 misc/cgo/test: fix a gcc warning
See https://code.google.com/p/go/issues/detail?id=5227#c16.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8833044
2013-04-18 02:33:55 +08:00
Rob Pike 1d1142f178 misc/dist/darwin: add execute bit to preinstall
Fixes #5258.

R=golang-dev, iant, minux.ma
CC=golang-dev
https://golang.org/cl/8682043
2013-04-11 13:40:14 -07:00
Andrew Wilkins d06be395cc cmd/cgo, cmd/go: remove #cgo directive parsing from cmd/cgo
This change removes processing of #cgo directives from cmd/cgo,
pushing the onus back on cmd/go to pass all necessary flags.

Fixes #5224. See comments for rationale.

R=golang-dev, iant, r
CC=golang-dev
https://golang.org/cl/8610044
2013-04-10 21:41:54 -07:00
Rémy Oudompheng 0e76a943c9 cmd/ld: fix inconsistency in internal linking of common symbols.
Some variables declared in C could end up as undefined symbols
in the final binary and have null address.

Fixes #5114.
Fixes #5227.

R=golang-dev, iant, ajstarks, dave, r
CC=golang-dev
https://golang.org/cl/8602044
2013-04-10 07:15:49 +02:00
Andrew Gerrand 81063812b4 dist: add .exe extension to tour.exe
Fixes #5246.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/8558044
2013-04-09 18:17:55 +10:00
Andrew Gerrand 0ccfbea5b0 dist: include js directory in misc/tour in binary distros
R=campoy, dsymonds
CC=golang-dev
https://golang.org/cl/8564043
2013-04-09 17:51:55 +10:00
Dave Cheney 26312afd7b misc/dashboard/builder: add -race builder support
If the build key contains -race, the builder will invoke to the race.{bat,bash} build command. This allows {darwin,linux,windows}-amd64 builders to do race and non race builds in sequence.

R=adg, dvyukov, fullung
CC=golang-dev
https://golang.org/cl/8266046
2013-04-09 12:48:04 +10:00
Jonathan Rudenberg 44c4a0d1c4 misc: update zsh completion
R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/8437043
2013-04-07 04:11:12 +08:00
Andrew Gerrand edca83e23a misc/dist: only build race toolchain where available, fix file upload
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/8343046
2013-04-04 14:46:54 +11:00
Andrew Gerrand 5d1c7bd1a6 misc/dist: add -version flag to override version name
Also, don't build the tour when making the source distribution.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/8354043
2013-04-04 14:21:19 +11:00
Andrew Gerrand 1b9e36356b misc/dist: don't ship race-enabled commands
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8350044
2013-04-04 12:07:53 +11:00
Andrew Gerrand 57af97f2f4 misc/dist: include race detector packages in binary distributions
Fixes #4596.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/8327045
2013-04-04 08:06:29 +11:00
Dominik Honnef 0104cea6c8 misc/emacs: Enable compilation-mode for gofmt error buffer before displaying it.
Some packages, like popwin.el, change display behaviour based on
the buffer's mode, so we should enable compilation-mode before
displaying the buffer.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8155043
2013-03-30 09:54:08 -07:00
Andrey Mirtchovski 06ed730d87 misc/cgo/gmp: fix typo.
R=golang-dev, minux
CC=golang-dev
https://golang.org/cl/8174045
2013-03-30 19:02:14 +08:00
Dave Cheney 5851b974a3 misc/dashboard/codereview: add Rémy to the list of assignees
R=dsymonds, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/8094047
2013-03-30 15:53:44 +11:00
Ian Lance Taylor 30e29ee9b6 cmd/ld: emit TLS relocations during external linking
This CL was written by rsc.  I just tweaked 8l.

This CL adds TLS relocation to the ELF .o file we write during external linking,
so that the host linker (gcc) can decide the final location of m and g.

Similar relocations are not necessary on OS X because we use an alternate
program start-time mechanism to acquire thread-local storage.

Similar relocations are not necessary on ARM or Plan 9 or Windows
because external linking mode is not yet supported on those systems.

On almost all ELF systems, the references we use are like %fs:-0x4 or %gs:-0x4,
which we write in 6a/8a as -0x4(FS) or -0x4(GS). On Linux/ELF, however,
Xen's lack of support for this mode forced us long ago to use a two-instruction
sequence: first we load %gs:0x0 into a register r, and then we use -0x4(r).
(The ELF program loader arranges that %gs:0x0 contains a regular pointer to
that same memory location.) In order to relocate those -0x4(r) references,
the linker must know where they are. This CL adds the equivalent notation
-0x4(r)(GS*1) for this purpose: it assembles to the same encoding as -0x4(r)
but the (GS*1) indicates to the linker that this is one of those thread-local
references that needs relocation.

Thanks to Elias Naur for reminding me about this missing piece and
also for writing the test.

R=r
CC=golang-dev
https://golang.org/cl/7891047
2013-03-27 13:27:35 -07:00
Carl Shapiro 8480e6f476 runtime: ensure forward progress when unwinding an arm stack frame
The arm gentraceback mishandled frame linkage values pointing
to the assembly return function.  This function is special as
its frame size is zero and it contains only one instruction.
These conditions would preserve the frame pointer and result
in an off by one error when unwinding the caller.

Fixes #5124

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/8023043
2013-03-26 11:43:09 -07:00
Yasuhiro Matsumoto d7434816c1 misc/vim: make Godoc command work with "log.Print".
R=dsymonds
CC=golang-dev
https://golang.org/cl/7757043
2013-03-26 17:39:46 +11:00
Carl Shapiro 4cb921bbf1 runtime: store asmcgocall return PC where the ARM unwind expects it
The ARM implementation of runtime.cgocallback_gofunc diverged
from the calling convention by leaving a word of garbage at
the top of the stack and storing the return PC above the
locals.  This change stores the return PC at the top of the
stack and removes the save area above the locals.

Update #5124
This CL fixes first part of the ARM issues and added the unwind test.

R=golang-dev, bradfitz, minux.ma, cshapiro, rsc
CC=golang-dev
https://golang.org/cl/7728045
2013-03-25 14:10:28 -07:00
Dominik Honnef 4ad1a87f85 misc/emacs: Derive mode from prog-mode if possible
R=golang-dev, bradfitz
CC=adonovan, cw, golang-dev, patrick.allen.higgins
https://golang.org/cl/7956044
2013-03-25 08:58:13 -07:00
Oling Cat 80234d5c6b misc/kate: fix multiline raw string syntax highlighting error.
From VisualFC.
Fixes #4862.

R=golang-dev, minux.ma, r
CC=golang-dev
https://golang.org/cl/7568043
2013-03-23 15:16:58 -07:00
Dominik Honnef c7ad7a1af4 misc/emacs: Kill gofmt error buffer if the buffer was formatted correctly already.
R=adonovan, cw, patrick.allen.higgins, bradfitz
CC=golang-dev
https://golang.org/cl/7844045
2013-03-21 20:03:27 -07:00
Ian Lance Taylor eeb9822457 misc/swig: remove old broken Makefile
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7786046
2013-03-20 08:06:58 -07:00
Robert Griesemer ddddd70cd2 misc/dashboard: show correct dir name in README
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7909043
2013-03-19 12:49:46 -07:00
Dominik Honnef 24f476409c misc/emacs: Add support for godef
godef[1][2] is a third party tool for printing information about
expressions, especially the location of their definition. This can be
used to implement a "jump to definition" function. Unlike
cross-language solutions like ctags, godef does not require an index,
operates on the Go AST instead of symbols and works across packages,
including the standard library.

This patch implements two new public functions: godef-describe (C-c
C-d) and godef-jump (C-d C-j). godef-describe describes the expression
at point, printing its type, and godef-jump jumps to its definition.

[1]: https://code.google.com/p/rog-go/source/browse/exp/cmd/godef/
[2]: go get code.google.com/p/rog-go/exp/cmd/godef

R=adonovan, cw, patrick.allen.higgins, sameer
CC=golang-dev
https://golang.org/cl/7781043
2013-03-19 11:29:28 -04:00
Joe Poirier b7b4783622 misc/dist: fix Windows breakage
The files could use some attention on the
Windows side but better to wait until after
the upcoming release.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/7621044
2013-03-18 08:56:38 +11:00
David Symonds 247bc72131 misc/dashboard/codereview: better debugging when some fetches fail.
R=rsc
CC=golang-dev
https://golang.org/cl/7836045
2013-03-15 14:45:00 +11:00
David Symonds b7f29e259d misc/dashboard/codereview: add more people.
I picked everyone who has committed a CL on behalf of someone else in recent times.

R=r, rsc
CC=golang-dev
https://golang.org/cl/7836044
2013-03-15 14:33:00 +11:00
Jeff R. Allen 8c2b6226f7 misc/pprof: fix address lookup regression on Linux
Just use "go tool addr2line" no matter what, since we know
it works for all OSs.

Fixes #4818.

R=rsc, r
CC=golang-dev
https://golang.org/cl/7526047
2013-03-13 09:40:38 -07:00
Dominik Honnef 69eb345727 misc/emacs: Fix indentation for code following multiline function declarations
Correctly indent the body of functions that have been declared
over multiple lines. See http://play.golang.org/p/MHMwNDbFyf for
an example.

Previously, the body of the function would be indented as deep as
the continuation line of the function declaration. Now it gets
indented as deep as the func keyword.

R=adonovan, cw, patrick.allen.higgins
CC=golang-dev
https://golang.org/cl/7628043
2013-03-12 21:37:18 -07:00
Benny Siegert f878b67b0f misc/bbedit, misc/notepadplus: remove executable bits from files.
R=golang-dev, dave, iant
CC=golang-dev
https://golang.org/cl/7765043
2013-03-12 14:29:25 -07:00
Russ Cox a25c403b3a cmd/pprof: never use c++filt
The copy of c++filt shipped on OS X is six years old,
and in our case it does far more mangling than it
does demangling. People on non-OS X systems will
have a working nm --demangle, so this won't affect them.

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.8.2
BuildVersion:	12C2034
$ c++filt --version
GNU c++filt 070207 20070207
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
$

$ go tool nm -n revcomp | grep quoteWith
   4f560 T strconv.quoteWith
$ go tool nm -n revcomp | grep quoteWith  | c++filt
   f560 T strconv.quoteWith
$

$ nm -n revcomp | grep quoteWith
000000000004f560 t _strconv.quoteWith
$ nm -n revcomp | grep quoteWith | c++filt
000000000004f560 unsigned short _strconv.quoteWith
$

Fixes #4818.

R=golang-dev, r, bradfitz
CC=golang-dev
https://golang.org/cl/7729043
2013-03-11 18:15:23 -04:00
Andrew Gerrand 77d6cf1cd5 misc/dashboard: add go.blog sub-repo to dashboard
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/7690043
2013-03-11 11:06:21 +11:00
Dominik Honnef 77ddbf1ff0 misc/emacs: Rewrite gofmt to use own function for applying patch instead of using diff-mode.
Instead of relying on gofmt's diff output (which is a unified
    diff), we manually invoke diff -n and produce an RCS format diff,
    which can easily be parsed in Emacs, with the go--apply-rcs-patch
    function.

    This fixes undocumented issues with the old implementation such as
    skipping over hunks of changes, and it fixes the documented issue
    of not being able to handle file names that include whitespace.

    It can also apply the patch on a buffer that has no file name
    attached at all.

    Last but not least, it greatly simplifies the gofmt function
    itself.

Fixes #4766.
Fixes #4475.

R=adonovan, cw, patrick.allen.higgins, sameer
CC=golang-dev
https://golang.org/cl/7516046
2013-03-07 13:12:37 -05:00
Russ Cox 8aafb44b0b runtime: fix cgo callbacks on windows
Fixes #4955.

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/7563043
2013-03-07 09:18:48 -05:00
Alex Brainman 2f23f90dab runtime,misc/cgo/test: disable broken tests so we can test the rest
R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/7486048
2013-03-06 15:19:01 -05:00
Russ Cox 77deeda717 misc/cgo/test: do not stop on first error
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7529043
2013-03-06 15:03:28 -05:00
Dominik Honnef cf8434fa31 misc/emacs: Add compatibility for GNU Emacs 23 and XEmacs >=21.5.32
This CL adds compatibility for GNU Emacs 23 (fixing fontification
issues) and XEmacs >=21.5.32 (fixing a lot of issues). Earlier
versions of XEmacs will not be supported because they do not
support POSIX character classes. Because of that, we also make use
of a lot of functions that were added in 21.5.32.

A known and currently unfixable issue with XEmacs is that go-mode
will not always fontify identifiers that use unicode correctly.

All changes for XEmacs are annotated in the diff.

Note: go--position-bytes is not currently used anywhere, but will
be in a future CL.

Fixes #4927.

R=golang-dev, adonovan, cw, patrick.allen.higgins, sameer
CC=golang-dev
https://golang.org/cl/7456051
2013-03-06 14:35:29 -05:00
Dominik Honnef a969f3c247 misc/emacs: Add tab completion for godoc command, completing from known installed packages
R=golang-dev, adonovan, bradfitz, cw, patrick.allen.higgins, sameer, ugorji
CC=golang-dev
https://golang.org/cl/7373051
2013-03-04 15:31:57 -05:00
Russ Cox 7c68f7876a misc/dashboard/builder: make -fail mode faster
Don't check out the repository if we're just going to fail everything.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7453048
2013-03-04 10:31:01 -05:00
Shenghou Ma 0acda4e87d misc/dashboard/app: make the builders test go.talks and go.exp
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/7419048
2013-03-03 03:17:14 +08:00
Tyler Bunnell 65983695fb misc/dist: handle previous installation
The installer package will now detect a previous installation and warn the user
that the previous installation will be deleted. If the user continues, the
installer will delete the previous installation and install the package as
usual.

Fixes #4293.

R=adg
CC=golang-dev
https://golang.org/cl/7427044
2013-02-28 16:09:48 +11:00
Andrew Gerrand 76e4a03352 misc/osx: remove legacy packaging scripts
These are superseded by the tool at misc/dist.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/7420044
2013-02-28 10:39:09 +11:00
Dominik Honnef b302d68ebc misc/emacs: Greatly improve go-mode for Emacs.
The original go-mode is plagued with odd behaviour, lack of
behaviour typical to modes in Emacs and bugs.

This change rewrites great parts of go-mode (basically only
keeping the gofmt and godoc functions).

Additionally it adds new features such as manipulating package
imports.

For more information please see
https://groups.google.com/group/golang-nuts/browse_frm/thread/3a9d6dae3369c0b5/1efe65e2f7afb190

Fixes #3618.
Fixes #4240.
Fixes #4322.
Fixes #4671.
Fixes #4726.

R=golang-dev, fullung, sameer, cw, arthur, proppy, adonovan, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/7314113
2013-02-26 13:48:32 -05:00
Dave Cheney 4036d876ea misc/dashboard/builder: various cleanups
* allow commit watcher to be disabled, useful for small slow builders who will never be the first to notice a commit.
* builders always update their local master working copy before cloning a specific revision.
* refactor hg repo operations into a new type, Repo.

R=adg, shanemhansen, luitvd
CC=golang-dev
https://golang.org/cl/7326053
2013-02-21 13:11:58 +11:00
Russ Cox 6c976393ae runtime: allow cgo callbacks on non-Go threads
Fixes #4435.

R=golang-dev, iant, alex.brainman, minux.ma, dvyukov
CC=golang-dev
https://golang.org/cl/7304104
2013-02-20 17:48:23 -05:00
Steven Elliot Harris 43da336b15 misc/emacs: Present "godoc" documentation buffers using view-mode.
Mimic the Emacs convention of presenting read-only files meant
for browsing using view-mode, rather than Fundamental mode
which mistakenly allows editing of the "godoc" content.
Fixes #4322.

R=golang-dev, bradfitz, sameer
CC=golang-dev
https://golang.org/cl/7231055
2013-02-20 14:42:37 -08:00
Robert Griesemer 3ee87d02b0 cmd/godoc: use go/build to determine package and example files
Also:
- faster code for example extraction
- simplify handling of command documentation:
  all "main" packages are treated as commands
- various minor cleanups along the way

For commands written in Go, any doc.go file containing
documentation must now be part of package main (rather
then package documentation), otherwise the documentation
won't show up in godoc (it will still build, though).

For commands written in C, documentation may still be
in doc.go files defining package documentation, but the
recommended way is to explicitly ignore those files with
a +build ignore constraint to define package main.

Fixes #4806.

R=adg, rsc, dave, bradfitz
CC=golang-dev
https://golang.org/cl/7333046
2013-02-19 11:19:58 -08:00
David Symonds 8ecc4cb41e misc/vim: update installation instructions to work better with some Linux distributions.
Fixes #3308.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/7301086
2013-02-18 14:03:47 +11:00
Russ Cox 6d888f1e1b build: clang support
This works with at least one version of clang
that existed at one moment in time.
No guarantees about clangs past or future.

To try:
        CC=clang all.bash

It does not work with the Xcode clang,
because that clang fails at printing a useful answer
to:
        clang -print-libgcc-file-name
The clang that works prints a full path name for
that command, not just "libgcc.a".

Fixes #4713.

R=iant, minux.ma
CC=golang-dev
https://golang.org/cl/7323068
2013-02-15 13:37:43 -08:00
Dave Cheney ea0292c61b misc/dashboard/builder: record build result on dashboard
This is part one of two changes intended to make it easier to debug builder failures.

runOutput allows us to control the io.Writer passed to a subcommand. The intention is to add additional debugging information before and after the build which will then be capture and sent to the dashboard.

In this proposal, the only additional information is the build status. See http://build.golang.org/log/e7b5bf435b4de1913fc61781b3295fb3f03aeb6e

R=adg
CC=golang-dev
https://golang.org/cl/7303090
2013-02-15 10:44:29 +11:00
Andrew Gerrand a801c8813d misc/dashboard: add missing return value
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7300084
2013-02-11 18:01:18 +11:00
Dave Cheney f1c409b98b misc/dashboard/app: trim old builds from the history
The dashboard is currently failing to store results of new builds for some keys, notable the go.codereview sub repository. This is causing the builders to mark the entire triggering commit as failed. With the help of David Symonds we think it is because the results value has breached the 1mb datastore limit on AppEngine.

R=dsymonds, adg
CC=golang-dev
https://golang.org/cl/6858094
2013-02-05 20:50:20 +11:00
Russ Cox b0a29f393b runtime: cgo-related fixes
* Separate internal and external LockOSThread, for cgo safety.
* Show goroutine that made faulting cgo call.
* Never start a panic due to a signal caused by a cgo call.

Fixes #3774.
Fixes #3775.
Fixes #3797.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/7228081
2013-02-01 08:34:41 -08:00
Francesc Campoy ba41978516 go/misc/dist: Keep file modes when copying.
R=adg
CC=golang-dev
https://golang.org/cl/7221055
2013-01-29 15:17:39 -08:00
Francesc Campoy 6c035469b5 go/misc: Adding go-tour to the generated packages for every distribution.
R=adg, minux.ma
CC=golang-dev
https://golang.org/cl/6976045
2013-01-28 21:46:49 -08:00
Andrew Gerrand df21f06fdf misc/dashboard/builder: synchronize accesses to goroot, always -commit
This prevents the occasional issue when Mercurial screws up the locking
itself, and by moving the locking into this process we can use the
goroot for other things (such as automatically updating the builder
binary).

It also asks all builders to poll for new commits.

R=bradfitz, dave, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/7178046
2013-01-25 10:06:18 +11:00
Andrew Gerrand 60b9cd535c misc/dashboard/godashboard: delete
This code is obsolete and unmaintained.

R=bradfitz
CC=golang-dev
https://golang.org/cl/7135056
2013-01-18 13:47:01 +11:00
Andrew Gerrand f31f9a61c5 misc/dashboard/codereview: add campoy to list of gophers
R=dsymonds
CC=golang-dev
https://golang.org/cl/7106044
2013-01-14 09:54:56 +11:00
Sameer Ajmani f14f458640 misc/emacs: update go-mode syntax table and comment handling as
suggested by pkleiweg.

Fixes #3471.

R=adonovan, pkleiweg, rsc
CC=golang-dev
https://golang.org/cl/7060056
2013-01-09 10:26:34 -05:00
Dave Cheney 47e5266a22 misc/dashboard/builder: set GOPATH before building subrepos
This proposal updates the dashboard builder to avoid relying on the (soon to be removed) support for using go get to download to $GOROOT. The result is

WORKSPACE=$(the value of the -buildRoot flag / $BUILDER_NAME + hg revision)
GOROOT=$WORKSPACE/go
GOPATH=$WORKSPACE

Required for CL 6941058.

R=minux.ma, adg
CC=golang-dev
https://golang.org/cl/7034049
2013-01-07 11:24:01 +11:00
Shenghou Ma e09f1e7a46 misc/benchcmp: show byte allocation statistics
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6971048
2012-12-22 14:51:16 -05:00
Rémy Oudompheng 11a40cb34d misc/pprof: don't look for browser in current directory.
Taken from upstream pprof.

Fixes #4564.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/6952045
2012-12-21 20:40:44 +01:00
Joel Sing 708db79011 cgo: enable cgo on openbsd
Enable cgo on OpenBSD.

The OpenBSD ld.so(1) does not currently support PT_TLS sections. Work
around this by fixing up the TCB that has been provided by librthread
and reallocating a TCB with additional space for TLS. Also provide a
wrapper for pthread_create, allowing zeroed TLS to be allocated for
threads created externally to Go.

Joint work with Shenghou Ma (minux).

Requires change 6846064.

Fixes #3205.

R=golang-dev, minux.ma, iant, rsc, iant
CC=golang-dev
https://golang.org/cl/6853059
2012-12-21 01:43:19 +11:00
Shenghou Ma 1b18a6072e cmd/cgo: access errno from void C function
Fixes #3729.

R=rsc
CC=golang-dev
https://golang.org/cl/6938052
2012-12-18 00:26:08 +08:00
Brad Fitzpatrick a257c753ac misc/dashboard: don't email about netbsd failures
Too flaky.

R=iant, rsc
CC=golang-dev
https://golang.org/cl/6925056
2012-12-12 11:33:03 -08:00
Russ Cox 9838774622 pprof: fix https URLs and 'profiler in use' errors
Fixes #3666.
Fixes #3680.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6899054
2012-12-10 17:06:30 -05:00
Russ Cox a93b15cad9 misc/emacs: fix go-mode hang
Fix suggested by serbaut.

Fixes #4445.

R=sameer
CC=golang-dev, serbaut
https://golang.org/cl/6842102
2012-11-27 12:21:10 -05:00
Dave Cheney 6a1036422f dashboard/builder: pass $CC to builder if set
R=adg, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/6843068
2012-11-22 08:41:02 +11:00
Vladimir Nikishenko dd01e9281d cmd/cgo: fix alignment of bool.
Fixes #4417.

R=golang-dev, iant, minux.ma, bradfitz
CC=golang-dev, vova616
https://golang.org/cl/6782097
2012-11-21 13:04:38 -08:00
Andrew Gerrand 1395d3d9bf misc/git: add gofmt git pre-commit hook
R=golang-dev, bradfitz, ftrvxmtrx, franciscossouza, r, minux.ma
CC=golang-dev
https://golang.org/cl/6843044
2012-11-15 19:58:49 +01:00
Jeff R. Allen d5449eafb9 misc/benchcmp: show memory statistics, when available
R=minux.ma, dave, extraterrestrial.neighbour, rsc
CC=golang-dev
https://golang.org/cl/6587069
2012-11-03 02:13:51 +08:00
Ian Lance Taylor 538a58bb75 misc/cgo/test: changes to pass when using gccgo
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6821067
2012-11-01 13:54:09 -07:00
Robert Griesemer 465b9c35e5 gofmt: apply gofmt -w src misc
Remove trailing whitespace in comments.
No other changes.

R=r
CC=golang-dev
https://golang.org/cl/6815053
2012-10-30 13:38:01 -07:00
Shenghou Ma 78a6f75241 cmd/ld: handle weak symbols
compiler_rt introduces a weak and hidden symbol compilerrt_abort_impl
into our pre-linked _all.o object, we have to handle it.

Fixes #4273.

R=iant, rsc, r
CC=golang-dev
https://golang.org/cl/6783050
2012-10-30 23:58:43 +08:00
Dave Cheney be6afde348 misc/dashboard/builder: check http status before processing response
Occasionally GAE will return a 500 error response, don't treat this as a valid JSON body.

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/6775066
2012-10-31 02:24:08 +11:00
Andrew Radev c8fe9c7606 misc/vim: fix reimport guard and remove K mapping.
The "did_ftplugin" lines were ineffective and the "K" mapping was too
invasive, which is why it was removed.

R=golang-dev, dsymonds, minux.ma
CC=golang-dev
https://golang.org/cl/6823044
2012-10-29 22:10:59 +11:00
David Symonds b506c3e17a misc/dashboard/codereview: only accept "NOT LGTM" on the first line of a message.
Too many people quote entire emails and put their reply at the top ("top posting"),
so we shouldn't recognise review commands anywhere in the review text.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6815048
2012-10-29 22:03:58 +11:00
Shenghou Ma 3d00648dc1 gophertool: fix links
R=bradfitz
CC=golang-dev
https://golang.org/cl/6713043
2012-10-22 01:05:21 +08:00
Shenghou Ma 0c44488ad9 misc/dist: support packaging for NetBSD
R=adg
CC=golang-dev
https://golang.org/cl/6650053
2012-10-16 15:53:17 +08:00
Brad Fitzpatrick bcf88de5ff pprof: filter out runtime.settype and fix --svg mode to produce valid XML
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6642043
2012-10-15 20:49:15 -07:00
Brad Fitzpatrick 08d66439b4 builder: label the race builder as "race"
R=golang-dev, adg, dave, rsc, minux.ma, dvyukov
CC=golang-dev
https://golang.org/cl/6648043
2012-10-15 20:30:41 -07:00
Shenghou Ma 24ab448c69 misc/cgo/test: add -ldl to LDFLAGS on Linux, ignore issue4029 on windows (fix build)
R=golang-dev
CC=golang-dev
https://golang.org/cl/6631054
2012-10-10 01:30:34 +08:00
Shenghou Ma fa563ae82e cmd/ld, cmd/6l, cmd/8l: sort exported dynamic symbols for Darwin
Also corrected cmd/8l's .dynsym handling (differentiate between exported symbols and imported symbols)

        Fixes #4029.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6620075
2012-10-10 00:55:48 +08:00
David Symonds f8b5838123 testing: change -test.benchtime to a flag.Duration.
Fixes #3902.

R=golang-dev, minux.ma, rsc, r
CC=golang-dev
https://golang.org/cl/6611059
2012-10-09 08:57:29 +11:00
Brad Fitzpatrick 9e811683f1 gophertool: make work with latest Chrome extension security restrictions
No JavaScript in HTML anymore.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6619066
2012-10-07 17:56:10 -07:00
Brad Fitzpatrick 256daf2c85 misc/dashboard: set charset utf-8 on build log downloads
Fixes #4187

R=golang-dev, dave, minux.ma
CC=golang-dev
https://golang.org/cl/6587071
2012-10-03 08:16:27 -07:00
Russ Cox 0a006b4923 misc/cgo: prepare for 64-bit ints
In a few places, the existing cgo tests assume that a
Go int is the same as a C int. Making int 64 bits wide
on 64-bit platforms violates this assumption.
Change that code to assume that Go int32 and C int
are the same instead. That's still not great, but it's better,
and I am unaware of any systems we run on where it is not true.

Update #2188.

R=iant, r
CC=golang-dev
https://golang.org/cl/6552064
2012-09-24 14:58:45 -04:00
Joel Sing 9536480edc cgo: process DWARF info even when debug data is used for value
Always process the DWARF info, even when the const value is determined
using the debug data block. This ensures that the injected enum is
removed and future loads of the same constant do not trigger
inconsistent definitions.

Add tests for issues 2470 and 4054.
Fixes #4054.

R=golang-dev, fullung, dave, rsc, minux.ma
CC=golang-dev
https://golang.org/cl/6501101
2012-09-20 13:20:33 +10:00
Alex Brainman 81a9cc31c4 misc/cgo/test: do not run wasteCPU during TestParallelSleep unless on arm
R=golang-dev, r, minux.ma, dave, bradfitz
CC=golang-dev
https://golang.org/cl/6532052
2012-09-20 12:06:08 +10:00
David Symonds adcf0a2aa0 misc/vim: fix Drop for imports after the first group.
Previously, an import block such as
	import (
        	"net"

                "stack"
        )
would not permit ":Drop stack" to work because we were aborting
the scan early, which is only correct when Import is in operation.

R=golang-dev, franciscossouza
CC=golang-dev
https://golang.org/cl/6532053
2012-09-20 08:11:07 +10:00
Shenghou Ma 674bbafce6 misc/cgo/stdio: make it work on Windows and also test it
use a function to get stdout and stderr, instead of depending
on a specific libc implementation.
also make test/run.go replace \r\n by \n before comparing
output.

        Fixes #2121.
        Part of issue 1741.

R=alex.brainman, rsc, r, remyoudompheng
CC=golang-dev
https://golang.org/cl/5847068
2012-09-20 00:27:23 +08:00
Andrew Gerrand 79de0d00ae misc/dist: generate tarballs for Mac OS X
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6503118
2012-09-17 16:59:16 -07:00
Andrew Gerrand af832ac0b9 misc/dashboard/builder: reinstate 'go get -d' error handling hack
I thought this was redundant since the behavior of 'go get -d' had
changed. I was wrong. Should have tested more thoroughly.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/6500136
2012-09-17 11:21:02 -07:00
Andrew Gerrand 129b2bb19a misc/dashboard/builder: increase default command timeout
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6499127
2012-09-17 11:05:43 -07:00
Andrew Gerrand f005fedfa9 misc/dashboard/builder: add timeout to all external command invocations
Fixes #4083.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6498136
2012-09-17 10:41:47 -07:00
Alex Brainman db3c800d19 misc/dashboard/builder: use c:\ as default buildroot on windows
We have some tests (misc/cgo/test) that are disabled only because
they will fail to run on go builder - see issue 3358 for details.
This change will allow us to enable these tests.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6493118
2012-09-14 12:53:30 +10:00
Alex Brainman 7f075ece42 runtime: increase stack frame during cgo call on windows/amd64
Fixes #3945.

R=golang-dev, minux.ma
CC=golang-dev, vcc.163
https://golang.org/cl/6490056
2012-09-03 12:12:51 +10:00
Dave Cheney d073677569 cgo/misc/test: burn CPU to improve sleep accuracy
Fixes #4008.

Run a background goroutine that wastes CPU to trick the
power management into raising the CPU frequency which,
by side effect, makes sleep more accurate on arm.

=== RUN TestParallelSleep
--- PASS: TestParallelSleep (1.30 seconds)
_cgo_gotypes.go:772:    sleep(1) slept for 1.000458s

R=minux.ma, r
CC=golang-dev
https://golang.org/cl/6498060
2012-08-31 20:17:59 +10:00
Shenghou Ma e607380ff6 cmd/ld: handle a special case of scattered relocation 2/1 on Darwin/386
Fixes #1635.

R=golang-dev, dave, r
CC=golang-dev
https://golang.org/cl/6496043
2012-08-29 23:42:05 +08:00
Tobias Columbus 5e8de365dc misc/vim: fix for autocompletion
Vim autocompletion respects the $GOPATH variable and does not
    ignore dashes ('-'), dots ('.') and underscores ('_') like found
    in many remote packages.
    Environment variable $GOROOT is determined by calling
    'go env GOROOT' instead of relying on the user's environment
    variables.

    Fixes #3876
    Fixes #3882

R=golang-dev, franciscossouza, dsymonds, minux.ma
CC=golang-dev
https://golang.org/cl/6443151
2012-08-28 03:59:16 +08:00
Alex Brainman 58064a7cab pprof: make it work on windows again
- pprof is a perl script, so go command should invoke
  perl instead of trying to run pprof directly;
- pprof should use "go tool nm" unconditionally on windows,
  no one else can extract symbols from Go program;
- pprof should use "go tool nm" instead of "6nm".

Fixes #3879.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6445082
2012-08-18 17:03:32 +10:00
Shenghou Ma 9d303b8aac misc/cgo/life: remove -lmsvcrt to fix windows/amd64 build
I guess this is the problem as I can't reproduce the failure.

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/6465060
2012-08-17 09:10:01 +08:00
Shenghou Ma 551d8b9ff5 cmd/go: new cgo build procedure
This CL adds a step to the build procedure for cgo programs. It uses 'ld -r'
to combine all gcc compiled object file and generate a relocatable object file
for our ld. Additionally, this linking step will combine some static linking
gcc library into the relocatable object file, so that we can use libgcc,
libmingwex and libmingw32 without problem.

   Fixes #3261.
   Fixes #1741.
   Added a testcase for linking in libgcc.

TODO:
1. still need to fix the INDIRECT_SYMBOL_LOCAL problem on Darwin/386.
2. still need to enable the libgcc test on Linux/ARM, because 5l can't deal
with thumb libgcc.

Tested on Darwin/amd64, Darwin/386, FreeBSD/amd64, FreeBSD/386, Linux/amd64,
Linux/386, Linux/ARM, Windows/amd64, Windows/386

R=iant, rsc, bradfitz, coldredlemur
CC=golang-dev
https://golang.org/cl/5822049
2012-08-17 03:42:34 +08:00
Dave Cheney 1ac397f4b9 misc/cgo/test: remove unused Makefile
R=golang-dev, minux.ma, iant
CC=golang-dev
https://golang.org/cl/6459091
2012-08-16 20:19:54 +10:00
Alex Brainman ef96d724e5 misc/cgo/life: explicitly specify library for assert function (fixes windows/amd64 build)
R=golang-dev, dave
CC=golang-dev, minux.ma
https://golang.org/cl/6461065
2012-08-09 17:00:31 +10:00
David Symonds e803e1cfa6 misc/dashboard/codereview: fixes for non-reviewers.
Also rename the testing CGI argument from "email" to "user".

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6454117
2012-08-08 13:16:21 +10:00
Russ Cox bacccefa8d misc/dashboard/codereview: fix obo
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6443091
2012-08-08 11:04:57 +10:00
Shenghou Ma 1e95429c3f misc/cgo/{life,stdio}, test/run.go: use test/run.go to do the cgo tests
Enhances test/run.go to support testing other directories
   Will enable stdio tests on Windows in a follow-up CL.

R=golang-dev, alex.brainman, rsc
CC=golang-dev
https://golang.org/cl/6220049
2012-08-07 09:38:35 +08:00
Russ Cox ab058b3540 misc/dashboard/codereview: show first line of last message in thread
This line helps me to tell whether the CL is waiting for me or I'm waiting for the author.

Also:
 - vertical-align table cells so buttons are always aligned with CL headers.
 - add email= to show front page for someone else.

 Demo at http://rsc.gocodereview.appspot.com/.
 Until this is deployed for real, some recently changed CLs may be
 missing the 'first line of last message' part.

R=dsymonds
CC=golang-dev
https://golang.org/cl/6446065
2012-08-05 14:35:35 -04:00
Ian Lance Taylor 6fa38e5e0a cmd/go, go/build, misc/swig: add SWIG support to Go tool
R=adg, rsc, franciscossouza, seb.binet, gen.battle
CC=golang-dev
https://golang.org/cl/5845071
2012-08-03 18:08:43 -07:00
Mikio Hara cbc3268d1d misc/cgo/test: fix darwin build
uuid_t is defined in unistd.h on OS X, unfortunately.

R=iant, rsc
CC=golang-dev
https://golang.org/cl/6455057
2012-07-31 20:59:06 +09:00
Russ Cox 09f1f5d76d misc/dashboard/codereview: add LastUpdate field to CL
To be filled in by a later CL. I deployed a test version to
App Engine to work on setting the values, so there are
a few records that have this field set already.

That field is breaking the live version, so I have pushed
a new copy with this 1-line change to the live version

I assumed that appengine/datastore was like every other
marshaling and unmarshaling package we have in Go
(for example, encoding/gob, encoding/json, encoding/xml,
and protobuf) and that if it loaded an unknown field it would
just ignore it. Apparently not. Sorry.

R=dsymonds
TBR=dsymonds
CC=golang-dev
https://golang.org/cl/6454064
2012-07-30 10:13:54 -04:00
David Symonds 2a9478ed64 misc/dashboard/codereview: pass user information to gobot when assigning reviewer.
R=bradfitz
CC=gobot, golang-dev, rsc
https://golang.org/cl/6457052
2012-07-30 14:41:04 +10:00
David Symonds e53351013d misc/dashboard/codereview: switch to using gobot to update CL reviewer info.
R=rsc
CC=golang-dev
https://golang.org/cl/6453063
2012-07-30 14:13:12 +10:00
David Symonds 4168804639 misc/dashboard/codereview: bump user-specific table limits to 100.
R=rsc
CC=golang-dev
https://golang.org/cl/6457051
2012-07-30 14:11:51 +10:00
David Symonds 482ceeda6d misc/dashboard/codereview: interpret zero reviewers as the CL being closed.
This is the state when the CL has been submitted by someone other than
the CL author, but before the CL author has synched their client.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6458044
2012-07-30 13:51:21 +10:00
David Symonds be629bf79e misc/dashboard/codereview: make all active CL tables hold up to 50 CLs.
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6449060
2012-07-30 11:45:17 +10:00
David Symonds 3fe5f3353f misc/dashboard/codereview: fix tag nesting.
R=golang-dev, rsc, minux.ma
CC=golang-dev
https://golang.org/cl/6454062
2012-07-30 11:37:20 +10:00
David Symonds 3cc9d16792 misc/dashboard/codereview: recognize "NOT LGTM".
A "NOT LGTM" overrules a previous "LGTM" by the same person, and vice versa.
"NOT LGTM"s are shown in the same location as LGTMs, colored red.

R=rsc
CC=golang-dev
https://golang.org/cl/6453062
2012-07-30 10:54:50 +10:00
David Symonds 3294404900 misc/vim: fix :Import insertion heuristic.
If a factored import group has a blank line, assume it is dividing
separate groups of imports (e.g. standard library vs. site-specific).
        import (
                "bytes"
                "io"

                "mycorp/package"
        )

The most common case is inserting new standard library imports,
which are usually (stylistically) the first group, so we should drop
"net" in the above example immediately after "io".

Since this logic is getting non-trivial, add a test.

R=golang-dev, minux.ma, franciscossouza
CC=golang-dev
https://golang.org/cl/6445043
2012-07-30 08:48:51 +10:00
Ian Lance Taylor f7f91a0506 misc/cgo/test: only run setgid test on GNU/Linux
Fixes #3874.

R=golang-dev, nj, r, minux.ma
CC=golang-dev
https://golang.org/cl/6446060
2012-07-28 10:40:51 -07:00
Ian Lance Taylor c49af2ccaf misc/cgo/test: add test for issue 3871: cgo setgid hang on GNU/Linux
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6445049
2012-07-26 23:21:41 -07:00
David Symonds a8ce9ab46c misc/dashboard/codereview: add admin-only link to force-update a CL.
R=nigeltao
CC=golang-dev
https://golang.org/cl/6431055
2012-07-23 12:41:23 +10:00
Shenghou Ma b213891c06 misc/chrome/gophertool: fix manifest
according to http://code.google.com/chrome/extensions/browserAction.html,
it should use "default_popup" instead of "popup".

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/6349077
2012-07-05 16:52:13 -04:00
Shenghou Ma 33d2b495c5 cmd/cgo: generate definitions for GoSlice
Fixes #3741.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6308076
2012-06-30 12:40:07 +08:00
Jean-Marc Eurin 11cafa3a42 misc/emacs: Fix the gofmt patching when the TMPDIR is not the default.
The previous code assumed the gofmt output referred to /tmp but
that's not true if TMPDIR points somewhere else (like on Macs).
Fixes #3782.

R=sameer
CC=golang-dev
https://golang.org/cl/6346050
2012-06-29 12:49:31 -04:00
Amir Mohammad Saied 4c98584ecd misc/chrome/gophertool: Support for manifest version 1 is being phased out.
Manifest version 1 was deprecated in Chrome 18, and support will be phased
out according to the schedule available at:
http://code.google.com/chrome/extensions/manifestVersion.html

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6332053
2012-06-25 17:19:08 -04:00
Mats Lidell cbcf358d29 misc/emacs: Replace replace-{string|regexp} for XEmacs compatible code
Use code to be used in lisp programs as suggested in the doc strings for
replace-{string|regexp}. Bonus: This code works for XEmacs.

R=golang-dev, sameer, jmeurin
CC=golang-dev
https://golang.org/cl/6296073
2012-06-21 13:01:54 -04:00
Jean-Marc Eurin 44a3a58e45 misc/emacs: Fix a failure when /tmp/<file>.go exists.
R=sameer
CC=golang-dev
https://golang.org/cl/6296060
2012-06-13 10:25:00 -04:00
Jean-Marc Eurin d608b15db7 misc/emacs: Fix the automatic gofmt when creating a new file.
Patching the buffer with the output from gofmt -d only works if
the file already exists. If it doesn't, replace the content with
the output of gofmt.

R=sameer
CC=golang-dev
https://golang.org/cl/6302063
2012-06-11 13:12:28 -04:00
Andrew Gerrand 5528211158 misc/dashboard/app: fix build failure notifications
The datastore.Query methods once mutated the Query value, but now they return
a derivative query, so the Hash= and ParentHash= filters were not being
applied.

R=golang-dev, bradfitz, dsymonds
CC=golang-dev
https://golang.org/cl/6300058
2012-06-07 09:27:39 +10:00
Joel Sing 5131deeeb2 cgo: enable cgo on netbsd/386 and netbsd/amd64
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6261056
2012-06-05 01:43:04 +10:00
Joel Sing b945b741e1 misc/cgo/stdio: split stdout/stderr into a separate file
Split stdout/stderr into a separate file so that can be handled
differently on some platforms. Both NetBSD and OpenBSD have defines
for stdout/stderr that require some coercion in order for cgo to
handle them correctly.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6247062
2012-06-05 01:38:55 +10:00
Ryan Barrett 062b609413 misc/emacs: make compilation-mode's next-error understand test failure output.
specifically, adds a go-test element to compilation-error-regexp-alist[-alist].
Fixes #3629.

R=golang-dev, rsc, sameer
CC=golang-dev, jba
https://golang.org/cl/6197091
2012-06-04 10:36:24 -04:00
Ryan Barrett c9e698bdfb misc/emacs: stop go-mode from spuriously marking the buffer modified when it loads
R=golang-dev, sameer, bradfitz
CC=golang-dev, jba
https://golang.org/cl/6213056
2012-06-01 16:55:03 -04:00
David Symonds 935d8d16d4 misc/dashboard/codereview: handle abandoned CLs.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6257082
2012-06-01 10:55:55 +10:00
Rémy Oudompheng c4a814f2da runtime/pprof, misc/pprof: correct profile of total allocations.
The previous heap profile format did not include buckets with
zero used bytes. Also add several missing MemStats fields in
debug mode.

R=golang-dev, rsc
CC=golang-dev, remy
https://golang.org/cl/6249068
2012-05-31 07:57:49 +02:00
Andrew Gerrand 735ec94591 misc/dashboard/app: add debug logging to notifyOnFailure; remove unused Result.OK function
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6258064
2012-05-31 14:09:50 +10:00
Andrew Gerrand 023a7e881c misc/dashboard/app: fix tests
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6244069
2012-05-31 14:09:24 +10:00
Mats Lidell b8a02560de go-mode: Works for both GNU-Emacs and XEmacs-21.5
Fixes some portability issues between the Emacsen.

R=golang-dev, sameer, bradfitz, ryanb
CC=golang-dev
https://golang.org/cl/6206043
2012-05-30 16:04:29 -04:00
Jean-Marc Eurin 7b6111a9dd misc/emacs: Use patch output of gofmt instead of replacing the buffer.
This uses the patch output of gofmt (-d option) and applies each
chunk to the buffer, instead of replacing the whole buffer.  The
main advantage is that the undo history is kept across gofmt'ings,
so it can really be used as a before-save-hook.

R=sameer, sameer
CC=golang-dev
https://golang.org/cl/6198047
2012-05-30 14:18:58 -04:00
Peter Kleiweg 2d1fa08967 Emacs go-mode: don't indent the inside of strings.
Two fixes for indentation problems:

1. Properly recognize multi-line strings. These start with `, not ".

2. Don't indent a line if the beginning of the line is the end of a multi-line string. This happened for instance when inserting a closing bracket after a multi-line string.

R=sameer
CC=golang-dev
https://golang.org/cl/6157044
2012-05-29 16:30:06 -04:00
Peter Kleiweg 28e9e15802 Emacs go-mode: fix Emacs freeze-up when copy/pasting from string or comment.
Fixes #3509.
Fixes #2767.

R=golang-dev, sameer
CC=golang-dev
https://golang.org/cl/6139066
2012-05-29 12:40:12 -04:00
Brad Fitzpatrick ca6b4d535f misc/dist: use archive/tar.FileInfoHeader
Fixes #3299

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6250056
2012-05-24 17:32:25 -07:00
Shenghou Ma 6dfe0162a6 misc/chrome/gophertool: lower CL number's lower bound and fix input focus on Mac
As our CL number could be as small as 152046, changed CL number's lower bound
to 150000. Hopefully our issue count won't reach 150000 any time soon.
Chrome on Mac OS X has very strange behavior regarding the focus, although we
force the focus to the input box on load, the page still come up with focus on
"issue". Set the tabindex of the input box as a workaround.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6212055
2012-05-17 04:22:44 +08:00
David Symonds a90cbd741a misc/dashboard/codereview: add sameer.
R=r
CC=golang-dev
https://golang.org/cl/6203076
2012-05-15 08:38:05 +10:00
David Symonds 58bcec62c0 misc/dashboard/codereview: set In-Reply-To header to properly thread mail.
R=adg
CC=golang-dev
https://golang.org/cl/6208051
2012-05-14 10:05:39 +10:00
Jean-Marc Eurin 9d063816ef misc/emacs: Restore the window position after a successful gofmt.
This adds restoring the window position so that the buffer doesn't jump around after the erase/copy.

R=sameer
CC=golang-dev
https://golang.org/cl/5981055
2012-05-07 11:46:01 -04:00
Shenghou Ma 018bcc3535 runtime, misc/cgo/test: fix build for Linux/ARM
1. In CL 5989057, I made a mistake in the last minute change.
"MOVW.W R4, -4(SP)" should really be "MOVW.W R4, -4(R13)",
as 5l will rewrite offset for SP.
2. misc/cgo/test/issue1560.go tests for parallel sleep of 1s,
but on ARM, the deadline is frequently missed, so change sleep
time to 2s on ARM.

R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/6202043
2012-05-05 01:35:13 +08:00
David Symonds c44a22cc49 misc/dashboard/codereview: remove transitional code.
All current CLs have subject lines, so we don't need to check any more.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6196044
2012-05-04 16:40:24 +10:00
Andrew Gerrand 7a77645aa8 misc/dashboard/codereview: add copyright notices to Go files
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6177043
2012-05-03 09:22:45 +10:00
Rob Pike ce30769ce3 misc/dashboard/codereview: LGTM favicon
R=dsymonds
CC=golang-dev
https://golang.org/cl/6158043
2012-05-02 13:48:49 +10:00
David Symonds cc9a5c3be7 misc/dashboard/codereview: preserve CL ordering.
R=r
CC=golang-dev
https://golang.org/cl/6136056
2012-05-01 16:15:32 +10:00
David Symonds 83aa040c45 misc/dashboard/codereview: de-dup LGTMs.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6127066
2012-05-01 11:41:32 +10:00
David Symonds dae2992c98 misc/dashboard/codereview: send mail immediately, and fill in time.Time fields.
If we delay the mail sending, we can't send as the current user.
If we don't fill in the time.Time fields, datastore.Put will fail
because the zero time.Time value is out of its range.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6136053
2012-05-01 11:33:25 +10:00
David Symonds 1bdb788b2e misc/dashboard/codereview: record Message-ID of code review thread mails.
This will allow us to properly thread "R=..." mails at a later time.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135053
2012-04-30 22:47:51 +10:00
David Symonds 5d331964e7 misc/dashboard/codereview: add handy logout URL.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135052
2012-04-30 22:47:06 +10:00
David Symonds 4335ec9eeb misc/dashboard/codereview: send mail to assigned reviewers if they aren't already looped in.
R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/6128054
2012-04-30 22:03:56 +10:00
David Symonds 24cce5c60c misc/dashboard/codereview: don't depend on map iteration order for unit calculation.
Fix auth requirements for /gc endpoint too.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6133049
2012-04-28 09:47:15 +10:00
David Symonds fe252584f5 misc/dashboard/codereview: simplify parallel operations for front page, and capture timing info.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6128044
2012-04-27 23:16:54 +10:00
David Symonds 1a79053725 misc/dashboard/codereview: more abbreviated modification duration.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6131044
2012-04-27 17:12:09 +10:00
David Symonds 0175e3f1e0 misc/dashboard/codereview: new app.
This is live at http://gocodereview.appspot.com/.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6134043
2012-04-27 16:36:02 +10:00
Andrew Gerrand 029d62f5c0 misc/dist: drop repetition in filenames, default to release tag
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6117066
2012-04-26 13:25:53 -07:00
Andrew Gerrand b6522c43d5 dashboard: sort user interface by internal counter, not date
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6114053
2012-04-25 13:01:08 -07:00
Mikkel Krautz 78e4d1752e misc/dist: more gophers for OS X installer
Replaces the default OS X installer background
with a more fitting image.

R=golang-dev
CC=golang-dev
https://golang.org/cl/6116043
2012-04-24 09:24:19 -07:00
Mikkel Krautz c17d09a657 misc/dist: require 10.6 or later for OS X .pkgs
This changes the misc/dist program to generate OS X
packages using pkgbuild and productbuild.

The productbuild utility makes it easy to generate
packages with a custom Distribution file.  This allows
us to add an installcheck script that presents a
friendly message to users who are running on an old
version of Mac OS X.

The change also fixes a few issues with the
postinstall script:

 - In-repo version of the script has been made
   executable. Installers generated using the new
   tools couldn't execute it otherwise.

 - It now uses -d for checking for the existence
   of the Xcode specs directory.

 - The call to sudo.bash has been dropped since cov
   and prof aren't bundled with the binary
   distributions.

Fixes #3455.

Tested on 10.5.8, 10.6.0, 10.6.8 and 10.7.3.

R=adg, golang-dev
CC=golang-dev
https://golang.org/cl/5987044
2012-04-23 14:56:03 -07:00
David Symonds e6c5e2a363 misc/dashboard: cope with removed Package fields.
adg removed some now-unwanted fields in Package a while ago,
but there are still datastore entities with those fields,
so we must explicitly check for ErrFieldMismatch and ignore it.

R=golang-dev, rsc
CC=adg, golang-dev
https://golang.org/cl/6007043
2012-04-12 09:55:37 +10:00
Dave Cheney 4e9f7047dc misc/dist: include directories in distribution tar and zip files.
Fixes #3458.

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/5969071
2012-04-05 11:39:12 +10:00
Andrew Gerrand 0f775d6b76 misc/dist: label 386 and amd64 as "32-bit x86" and "64-bit x86"
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5986043
2012-04-05 11:16:37 +10:00
Brad Fitzpatrick 0fd53d8be9 misc/dist: check return value from filepath.Walk
Doesn't fix any known issue. This bit me in some unrelated
code and I thought of this tool.

R=golang-dev, krautz, mikkel
CC=golang-dev
https://golang.org/cl/5976067
2012-04-03 12:33:22 -07:00
Andrew Gerrand 48a76e13a5 misc/dashboard: set api_version to go1
R=golang-dev
CC=golang-dev
https://golang.org/cl/5952046
2012-04-03 08:10:51 +10:00
Sameer Ajmani b0f4d805f2 misc/emacs: fix go-mode syntax table and whitespace handling.
- flag * and / as comment characters
- mark newline as a comment-ender
- include newline in go-mode-whitespace-p

Thanks Jonathan Amsterdam and Steve Yegge for the patch!

R=golang-dev, rsc
CC=golang-dev, jba, stevey
https://golang.org/cl/5938056
2012-04-02 12:59:37 -04:00
Shenghou Ma a84056dabe gobuilder: work with codereview plugin enabled in .hgrc
Fixes #3312.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5907065
2012-04-02 18:46:24 +08:00
Mikkel Krautz 28ac033b2e dist: make sure OS X packages follow symlinks when installing
R=adg
CC=golang-dev
https://golang.org/cl/5970061
2012-04-02 16:34:11 +10:00
Andrew Gerrand 81dbec12c8 misc/dist: it sucks hwhen you forget to fix typos
R=golang-dev
CC=golang-dev
https://golang.org/cl/5937049
2012-03-28 12:45:39 +11:00
Andrew Gerrand 70a8948a39 misc/dist: support upload only (no build)
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5940050
2012-03-28 12:24:43 +11:00
Ben Fried bf9620ebbd misc/emacs: fix overindentation caused by mis-parsing lines ending with special chars
Fixes #3313

go-mode-backward-skip-comments is probably due for a more ambitious refactoring --- it repeats guard conditions after every nearly every movement of point.

R=sameer, r
CC=golang-dev
https://golang.org/cl/5844063
2012-03-26 23:26:39 -04:00
Yasuhiro Matsumoto a3b86e9379 misc/goplay: fix error on IE8.
use cancelBubble=true instead of preventDefault().

R=golang-dev, rsc, adg
CC=golang-dev
https://golang.org/cl/5888043
2012-03-27 11:16:29 +11:00
Andrew Gerrand 0c58eff0b6 misc/dist: don't ship codereview either
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5917043
2012-03-27 10:38:10 +11:00
Andrew Gerrand 9b6555c605 misc/dist: don't include old python dashboard in releases
I'd prefer not to ship a bunch of bad Python code to everyone who uses
Go 1.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5915043
2012-03-27 09:59:20 +11:00
Andrew Gerrand bfdc45a456 misc/dist: add -wxs flag to provide custom installer.wxs file
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5908055
2012-03-26 17:32:20 +11:00
Joe Poirier f4fc889424 windows: install fixes
* set default installation drive to C:\
* remove Win64 component property

R=golang-dev, bradfitz, aram
CC=golang-dev
https://golang.org/cl/5901044
2012-03-26 16:48:20 +11:00
Andrew Gerrand da7959d5dd misc/dist: make godoc shortcut work
R=golang-dev
CC=golang-dev
https://golang.org/cl/5877062
2012-03-23 12:44:33 +11:00
Andrew Gerrand e9fef33dd8 misc/dist: updates to installer script
Now sets GOROOT.

Fixes #3287.
Fixes #3361.

R=golang-dev
CC=golang-dev
https://golang.org/cl/5877059
2012-03-23 11:48:54 +11:00
Shenghou Ma 1abd8d8fd0 misc/cgo/gmp: update for Go 1
1. make the program go buildable
2. update os.EINVAL and runtime.Cgocalls()
3. wrap mpz_div_2exp() and mpz_mul_2exp to support both
   pre-5.0 and post-5.0 gmp (we really have no reason to
   restrict ourselves to gmp 5.0+)

R=golang-dev, remyoudompheng, iant
CC=golang-dev
https://golang.org/cl/5847061
2012-03-21 00:51:48 +08:00
Andrew Gerrand c58163c572 misc/dashboard: remove remnants of package dashboard
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5847070
2012-03-20 13:35:31 +11:00
Brad Fitzpatrick 86c7bc6e8b misc/dist: don't ship cmd/cov or cmd/prof
Fixes #3317

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5784083
2012-03-15 15:22:56 -07:00
Andrew Gerrand e9f82e6b68 misc/dashboard: remove old python package dashboard
This leaves only the project page, which now resides at the web root.

R=golang-dev, bsiegert, rsc
CC=golang-dev
https://golang.org/cl/5833044
2012-03-16 08:20:02 +11:00
Francisco Souza 235863cb12 doc: add "Godoc: documenting Go code" article
Originally published on The Go Programming Language Blog, March 31, 2011.

http://blog.golang.org/2011/03/godoc-documenting-go-code.html

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5830043
2012-03-15 14:51:44 +11:00
Brad Fitzpatrick d6ea81e0b9 misc/dist: don't lose mode bits when setting tar permissions
R=golang-dev, bsiegert, rsc
CC=golang-dev
https://golang.org/cl/5822046
2012-03-14 08:24:11 -07:00
Andrew Gerrand 5c8e88d6d2 misc/dist: remove exp and old before building
Fixes #3317.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5784074
2012-03-14 23:47:34 +11:00
Yasuhiro Matsumoto 2fc5dd66df misc/vim: restore fileencodings.
Currently, ftdetect/gofiletype.vim set fileencodings to open the file as
utf-8 encoding event if the file does not contain multibyte characters.
But fileencodings is global option.

$ vim foo.txt
:set fileencodings
utf-8,ucs-bom,cp932

$ vim foo.go
:set fileencodings
utf-8

This change restore fileencodings before opening the file.
Also added specify fileformats=unix.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5718045
2012-03-14 18:43:01 +11:00
Andrew Gerrand b3ca3e9564 misc/dist: force modes to 0755 or 0644 in tarballs
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5823045
2012-03-14 17:09:15 +11:00
Brad Fitzpatrick c405b58f3f misc/dist: better archive/tar Headers
This should live in archive/tar later (CL 5796073) but we
can always do that after Go 1 and stick it here for now.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5754096
2012-03-12 21:49:43 -07:00
Andrew Gerrand 677caf7813 misc/dist: trim space from version string
This prevents us from writing filenames like "weekly.2012-03-12\n.foo.bar.tar.gz".

R=bradfitz
CC=golang-dev
https://golang.org/cl/5783090
2012-03-13 15:31:39 +11:00
Brad Fitzpatrick ac0789c63e misc/dist: use archive/tar to generate tarballs
For people untarring with -p or as root, preserving file permissions.
This way we don't make tars owned by adg/eng or adg/staff or whatever
machine Andrew was on. Instead, we always build tarballs owned by predictable
users.

Except archive/tar doesn't seem to work.

Updates #3209.

R=golang-dev, adg
CC=dsymonds, golang-dev
https://golang.org/cl/5796064
2012-03-11 23:07:38 -07:00
Brad Fitzpatrick 2ae8605859 misc/dist: use archive/zip, seek out windows deps, add --upload flag
Use archive/zip instead of 7z on Windows.

Look for all Windows deps before starting build, and include looking
for them in their common locations instead of making users update
their PATHs.

Add an --upload flag that, if set to false, doesn't require credential
files.

R=golang-dev, alex.brainman, adg
CC=golang-dev
https://golang.org/cl/5794046
2012-03-11 21:02:40 -07:00
Shenghou Ma 0c74d867c5 misc/dist: minimum target requirement is 10.6 for Darwin
As we've dropped support for Mac OS X 10.5, I think the generated .pkg
     should reflect that decision.
     But this CL make it impossible to generate pkg on Mac OS X 10.6, at least
     for me.

R=adg, bradfitz
CC=golang-dev
https://golang.org/cl/5798051
2012-03-12 13:20:25 +11:00
Andrew Gerrand 08a5d73940 misc/dist: produce a zip file under windows
Updates #3254.

R=golang-dev, bradfitz, alex.brainman
CC=golang-dev
https://golang.org/cl/5783058
2012-03-09 12:57:38 +11:00
Russ Cox 2c46569f57 cmd/go: add env command, use to fix misc/cgo/testso
Fixes 386 build on 64-bit machines.

R=golang-dev, bradfitz, minux.ma
CC=golang-dev
https://golang.org/cl/5785053
2012-03-08 14:28:44 -05:00
Robert Griesemer 56cae1c230 all: gofmt -w -s src misc
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5781058
2012-03-08 10:48:51 -08:00
Francisco Souza dc57ed8caf misc/cgo: re-enable testso
The test.bash file generates .so file using gcc, builds the executable
using the go tool and then run it with the $LD_LIBRARY_PATH variable
pointing to the directory where the .so file lives.

Fixes #2982.

R=rsc, remyoudompheng
CC=golang-dev
https://golang.org/cl/5788043
2012-03-08 12:13:41 -05:00
Andrew Gerrand 52db02bef3 undo CL 5699082 / 6223c9fe432b
We decided not to record installs, for now at least.

««« original CL description
misc/dashboard: record install counts for external packages

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5699082
»»»

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5790044
2012-03-08 22:34:59 +11:00
Andrew Gerrand 8a146e707c misc/dashboard: remove obsolete package builder code
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5790045
2012-03-08 21:54:46 +11:00
Volker Dobler a2f0397121 windows: make background of gopher icon transparent
R=golang-dev, r, jdpoirier
CC=golang-dev
https://golang.org/cl/5762045
2012-03-07 18:31:46 -06:00
Russ Cox afb1b0e6b7 undo CL 5754063 / e23b66fcfc94
Does not actually test so files.

««« original CL description
misc/cgo: re-enable testso

Also enabled it for darwin.

R=rsc
CC=golang-dev
https://golang.org/cl/5754063

»»»

R=golang-dev, minux.ma, r, f
CC=golang-dev
https://golang.org/cl/5756075
2012-03-07 10:15:20 -05:00
Francisco Souza 152a1aa610 misc/cgo: re-enable testso
Also enabled it for darwin.

R=rsc
CC=golang-dev
https://golang.org/cl/5754063
2012-03-07 00:40:16 -05:00
Russ Cox fc98f28204 misc/cgo/test: fix build
The last CL forgot the all-important 'backdoor' package.
Cgo-using packages compile .c files with gcc, but we want
to compile this one with 6c, so put it in a non-cgo package.

TBR=golang-dev
CC=golang-dev
https://golang.org/cl/5758063
2012-03-06 23:38:54 -05:00
Russ Cox c3f4319a24 misc/cgo: re-enable some tests
The testso directory still needs to be enabled.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5731048
2012-03-06 23:27:30 -05:00
Andrew Gerrand 7db4384354 misc/dist: fix glob pattern under windows
R=bradfitz
CC=golang-dev
https://golang.org/cl/5753066
2012-03-07 13:34:01 +11:00
Andrew Gerrand 243ac1613e misc/dist: prepare source archives
Fixes #95.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5756066
2012-03-07 13:13:26 +11:00
Robert Griesemer 6b2586d29a misc/xcode: fix typos
R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/5756043
2012-03-05 15:50:48 -08:00
Emil Hessman 4863980f16 Xcode: Example install of language specification for Xcode 4.x.
go.xclangspec is identical to the one in misc/xcode/3/, except for the heading.

Partial workaround for issue 2401.

R=gri
CC=golang-dev
https://golang.org/cl/5732051
2012-03-05 15:11:08 -08:00
Andrew Gerrand 5e46a8c9f9 misc/dist: add windows packaging support
R=golang-dev, bsiegert, jdpoirier
CC=golang-dev
https://golang.org/cl/5727059
2012-03-06 08:55:53 +11:00
Sameer Ajmani a55a6cb925 misc/emacs: fix extra indentation after comments that end with a period
in emacs go mode.  Thanks Alex Shinn for the patch.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5728063
2012-03-05 14:58:35 -05:00
Shenghou Ma d5f78d77c0 builder: use short test for subrepos
R=rsc, golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5732053
2012-03-05 23:16:11 +08:00
Dave Cheney bc1e89008d misc: update usage message in benchcmp for go tool
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5727052
2012-03-05 10:57:58 +11:00
Rémy Oudompheng 664481eb6b misc: add zsh completion for go tool.
R=golang-dev, minux.ma, rsc
CC=golang-dev, remy
https://golang.org/cl/5699079
2012-03-03 00:12:40 +01:00
Robert Griesemer 485bf1ed15 Xcode: move Xcode3 specific files into sub directory
- makes space for Xcode4 files
- added README

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5720059
2012-03-02 14:15:44 -08:00
Andrew Gerrand 984780a589 misc/dist: implement binary distribution scripts in go
R=golang-dev, r, alex.brainman, r, mike.rosset
CC=golang-dev
https://golang.org/cl/5697050
2012-03-01 15:49:37 +11:00
Russ Cox 6e2ae0a12c runtime/pprof: support OS X CPU profiling
Work around profiling kernel bug with signal masks.
Still broken on 64-bit Snow Leopard kernel,
but I think we can ignore that one and let people
upgrade to Lion.

Add new trivial tools addr2line and objdump to take
the place of the GNU tools of the same name, since
those are not installed on OS X.

Adapt pprof to invoke 'go tool addr2line' and
'go tool objdump' if the system tools do not exist.

Clean up disassembly of base register on amd64.

Fixes #2008.

R=golang-dev, bradfitz, mikioh.mikioh, r, iant
CC=golang-dev
https://golang.org/cl/5697066
2012-02-28 16:18:24 -05:00
Andrew Gerrand 2f4e5f79a6 gobuilder: send commit time in RFC3339 format
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5701063
2012-02-28 11:21:56 +11:00
Yissakhar Z. Beck 1f5fde0915 misc/bash: Completion for go tool.
This covers most of the tool's functionality. At some point,
support should probably be added for testflags and the various go
tools.

R=golang-dev, bradfitz, kyle, minux.ma
CC=golang-dev
https://golang.org/cl/5646066
2012-02-28 07:41:49 +11:00
Andrew Gerrand 2d6a6ed9fc misc/dashboard: fix bug in UI template
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5700078
2012-02-27 16:18:58 +11:00
Andrew Gerrand 8421390cb9 misc/dashboard: record install counts for external packages
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5699082
2012-02-27 15:25:41 +11:00
Shenghou Ma bb4a490928 builder: reuse existing workspace if possible
R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5690069
2012-02-22 15:39:53 -05:00
Brad Fitzpatrick 0427c583a5 builder: update for os.Wait changes.
This compiles again.

R=golang-dev, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/5687078
2012-02-22 11:48:41 -08:00
Joe Poirier fe5b4a2f9b misc/dist/windows: fix broken icon, other misc
fix, and shrink, the gopher icon, txt extensions
for license and readme files, minor format changes
in the wxs file

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5683054
2012-02-21 22:15:03 -06:00
Andrew Gerrand 5ba08f4215 misc/goplay: remove redundant chdir
R=ajstarks, r
CC=golang-dev
https://golang.org/cl/5687070
2012-02-22 09:37:38 +11:00
Andrew Gerrand 92755f38ae dashboard: rename buttons to satisfy pedantic souls
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5686053
2012-02-21 17:13:14 +11:00
Andrew Gerrand 041edbcc79 misc/goplay: remain in work directory, build in temp directory
Fixes #2935.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5684048
2012-02-21 11:24:29 +11:00
Joe Poirier 2557466ff9 misc/dist/windows: app engine gopher replaced with standard bw version
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5688048
2012-02-20 01:00:00 -06:00
Joe Poirier 8d7ee2b998 misc/dist/windows: ongoing dev
Embedded Go images in the installer dialog and
banner boxes, Go tree cloning uses version info
from the Go tool (readme updated), the installer
allows up/down-grading and reparing of the version
that's installed, added two registry values.

R=golang-dev, bradfitz, bradfitz
CC=golang-dev
https://golang.org/cl/5683048
2012-02-20 00:29:57 -06:00
Joe Poirier a9e57f743d misc/dist/windows: ongoing dev
Added the (properly formatted) license file back,
the installer adds go\bin to the system PATH now,
the output package names are in line with the linux
and darwin versions, dist.bat extracts GOARCH in a
sane way, readme cleanup.

Tested on Windows 7 only. It would be helpful if
someone else could give it a try. See the readme
for details.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5673099
2012-02-19 22:21:41 -06:00
Brad Fitzpatrick efacb2a1b4 os: remove Getenverror
Fixes #3065

R=golang-dev, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5675094
2012-02-18 21:18:13 -08:00
Joe Poirier 4f5ffe5684 misc/dist/windows: distro builder updates
files moved from misc/windows, bash packager file replaced with Windows batch file

R=golang-dev, alex.brainman, rsc
CC=golang-dev
https://golang.org/cl/5677074
2012-02-17 11:07:34 -06:00
Rob Pike 21be71a419 all: errors caught by go vet
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5674069
2012-02-16 17:21:21 +11:00
David Symonds e8edf84d81 dashboard: tidy up 'top' link.
The previous link worked, but was unnecessary and had a trailing "}".

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5674068
2012-02-16 17:14:26 +11:00
Robert Griesemer 47afa4dba5 go/printer: don't lose relevant parentheses when rewriting selector expressions
Also: Simplified handling of selector expressions. As a result, complicated
multi-line expressions containing selectors and calls/indices with arguments
broken accross lines don't get indented the same way as before, but the change
is minimal (see tests) and there's no such code in the std library. It seems
a worthwhile compromise given the much simpler code.

Applied gofmt -w $GOROOT/src $GOROOT/misc .

Fixes #1847.

R=rsc
CC=golang-dev
https://golang.org/cl/5675062
2012-02-15 12:25:37 -08:00
Russ Cox db93edfc28 builder: fix windows environment
Not causing problems yet, but no need to
keep using cygwin paths now that we're off cygwin.

R=alex.brainman
CC=golang-dev
https://golang.org/cl/5656053
2012-02-14 01:23:25 -05:00
Russ Cox 82568c5cd5 cmd/dist: exclude cov and prof from releases
Also check for old and exp.

Fixes #2764.
Fixes #2765.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5654068
2012-02-14 00:18:30 -05:00
Andrew Gerrand 159ee8a42f misc/dist: add binary distribution packaging script for linux
R=golang-dev, bradfitz, iant
CC=golang-dev
https://golang.org/cl/5639064
2012-02-13 21:18:16 +11:00
Alex Brainman 97235a769f builder: really set $GOBUILDEXIT for Windows
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5649074
2012-02-13 14:32:45 +11:00
Russ Cox 0bc6836e81 builder: set $GOBUILDEXIT for Windows
Actually %GOBUILDEXIT% I suppose.

R=golang-dev
CC=golang-dev
https://golang.org/cl/5651058
2012-02-10 01:27:59 -05:00
Russ Cox ee3e24f2d7 dashboard: add gobuilder -fail mode
This is for filling a column with "fail", like I just did for
Windows, when the builder would get stuck running that
build.  (We have safeguards against the tests getting stuck
but this was the bootstrap build getting stuck.)

I usually use -cmd=/bin/false, but this avoids the Mercurial
checkouts, which means it runs instantly instead of requiring
~1 minute per "fail".

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5649049
2012-02-09 23:46:48 -05:00
Alex Brainman 947ea6f750 gobuilder: fix windows builder
Do not rewrite commands if they have .bash extnsion.
Use path/filepath to manipulate file paths everywhere.
Use all.bat on windows, not all.bash.
Use HOMEDRIVE/HOMEPATH to find .gobuildkey on windows.

R=rsc
CC=golang-dev
https://golang.org/cl/5630062
2012-02-09 14:52:01 +11:00
Andrew Gerrand fedc277013 misc/dist: new hierarchy for binary distribution packaging scripts
R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5639063
2012-02-09 11:15:14 +11:00
Andrew Gerrand eb039a8045 misc/osx: update for dist tool, drop image.bash, update readme
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5639043
2012-02-07 14:37:57 +11:00
Andrew Gerrand d887a31b7c misc/osx: don't set GOROOT or modify profile files
There's no reason to set GOROOT as the tools will have the path baked
into it with GOROOT_FINAL.

R=bradfitz, bytbox, gustavo, rsc
CC=golang-dev
https://golang.org/cl/5576064
2012-02-07 10:38:10 +11:00
Olivier Duperray 98257750f4 misc/goplay: use go tool "run"
Fixes #2872

R=andybalholm, rsc
CC=golang-dev
https://golang.org/cl/5608056
2012-02-06 12:10:49 -05:00
Andrew Gerrand 22185aed74 dashboard: update to go1beta
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5624056
2012-02-06 09:26:32 +11:00
Andrew Gerrand aa716e36a6 dashboard: don't send failing Go commits as todos for subrepos
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5608044
2012-02-03 14:03:46 +11:00
Jongmin Kim a98faa9b6f gophertool: fix link to the build status dashboard
R=golang-dev
CC=bradfitz, golang-dev
https://golang.org/cl/5606050
2012-02-01 20:53:31 -08:00
Russ Cox 2050a9e478 build: remove Make.pkg, Make.tool
Consequently, remove many package Makefiles,
and shorten the few that remain.

gomake becomes 'go tool make'.

Turn off test phases of run.bash that do not work,
flagged with $BROKEN.  Future CLs will restore these,
but this seemed like a big enough CL already.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5601057
2012-01-30 23:43:46 -05:00
Andrew Gerrand 1f5f457ba3 dashboard: better ui layout for subrepo status
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5595048
2012-01-31 12:09:56 +11:00
Rob Pike 91cb3489ab go: move compilers into the go-tool directory
Also delete gotest, since it's messy to fix and slated for deletion anyway.
A couple of things outside src can't be tested any more. "go test" will be
fixed and these tests will be re-enabled. They're noisy for now.

Fixes #284.

R=rsc
CC=golang-dev
https://golang.org/cl/5598049
2012-01-30 14:46:31 -08:00
Andrew Gerrand 0f2659a323 builder: drop recover blocks
The one time they recovered from anything they obscured a useful stack
trace. We're better off just crashing hard.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5577073
2012-01-30 14:53:48 +11:00
Andrew Gerrand faa1bf04fd dashboard: ask builders to re-build Go tip to freshen subrepos
This ensures we always have results for subrepo-tip at go-tip.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5569091
2012-01-30 14:50:36 +11:00
Andrew Gerrand 43ebc6b5c6 gobuilder: use go tool to build and test sub-repositories
R=rsc
CC=golang-dev
https://golang.org/cl/5576047
2012-01-30 12:02:14 +11:00
Andrew Gerrand d87813b51c dashboard: add sub-repositories to init list
dashboard: add Kind to Package struct
dashboard: add kind parameter to /packages handler

R=rsc, bsiegert, rogpeppe
CC=golang-dev
https://golang.org/cl/5572062
2012-01-30 11:59:06 +11:00
Olivier Duperray 0da89b3964 test: Add the usual Copyright notice.
Fixes #2759.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5570053
2012-01-24 14:48:15 -05:00
Gustavo Niemeyer 0442087f93 encoding/xml: bring API closer to other packages
Includes gofix module. The only case not covered should be
xml.Unmarshal, since it remains with a similar interface, and
would require introspecting the type of its first argument
better.

Fixes #2626.

R=golang-dev, rsc, gustavo
CC=golang-dev
https://golang.org/cl/5574053
2012-01-24 01:10:32 -02:00
Russ Cox c1b4be6a4d dashboard: fix -commit for new xml package
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5571046
2012-01-23 11:50:39 -05:00
Shenghou Ma 0a851754a0 misc/xcode/go.xclangspec: fix typo
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5553049
2012-01-20 07:17:52 -08:00
Alex Brainman 8d6958fc04 misc/cgo/test: make tests run on windows
- use proper Win64 gcc calling convention when
  calling initcgo on amd64
- increase g0 stack size to 64K on amd64 to make
  it the same as 386
- implement C.sleep
- do not use C.stat, since it is renamed to C._stat by mingw
- use fopen to implement TestErrno, since C.strtol
  always succeeds on windows
- skip TestSetEnv on windows, because os.Setenv
  sets windows process environment, while C.getenv
  inspects internal C runtime variable instead

R=golang-dev, vcc.163, rsc
CC=golang-dev
https://golang.org/cl/5500094
2012-01-20 12:59:44 +11:00
Robert Griesemer eac31c67a8 go/doc: streamlined go/doc API
- the main changes are removing the Doc suffix
  from the exported types, so instead of
  doc.TypeDoc one will have doc.Type, etc.

- All exported types now have a Name (or Names) field.
  For Values, the Names field lists all declared variables
  or constants.

- Methods have additional information about where they are
  coming from.

- There's a mode field instead of a bool to
  control the package's operation, which makes
  it easier to extend w/o API changes.

Except for the partially implemented new Method type,
this is based on existing code. A clean rewrite is in
progress based on this new API.

R=rsc, kevlar
CC=golang-dev
https://golang.org/cl/5528060
2012-01-12 17:36:57 -08:00
Russ Cox c356fc74a1 dashboard: add deployment comment to app.yaml
Also update default app and version to be correct.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5541044
2012-01-12 11:06:09 -08:00
Rob Pike eb94327068 dashboard: use build.golang.org as the domain
The domain returned by appengine.DefaultVersionHostname
isn't the one we want.
This change has been uploaded to build.golang.org

R=golang-dev, rsc, r
CC=golang-dev
https://golang.org/cl/5539043
2012-01-12 10:42:39 -08:00
Olivier Duperray 014c342b1e misc/dashboard/builder: fix comment in http.go
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5534074
2012-01-11 13:23:33 -08:00
Andrew Gerrand 5cf803f438 builder: pass through TMPDIR env var, drop DISABLE_NET_TESTS
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5530076
2012-01-11 15:44:20 +11:00
Florian Weimer 70ed0ac588 go-mode.el: fix syntax highlighting of backticks
Instead of syntax-tables, an extended go-mode-cs is used for
from a font-lock callback.

Cache invalidation must happen in a before-change-function
because font-lock runs in an after-change-function, potentially
before the cache invalidation takes place.

Performance is reasonable, even with src/pkg/html/entity.go
and test/fixedbugs/bug257.go.

Fixes #2330.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5529045
2012-01-09 12:58:29 -05:00
Robert Hencke a3baccefd6 various: fix prints
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5516049
2012-01-05 18:38:01 -08:00
Andrew Gerrand 126ee245c6 dashboard: increase notification log to 200 lines
The go command lists all packages that were built.
A recent breakage notification included this text:

$ tail -100 < log
ok      errors
ok      exp/ebnf
?       exp/ebnflint [no test files]
ok      exp/gotype
ok      exp/norm
ok      exp/spdy

If the breakage occurred before this point it would
not be visible in the output.

R=golang-dev, gri, kevlar
CC=golang-dev
https://golang.org/cl/5504109
2012-01-04 11:22:58 +11:00
Alex Brainman 83d5402443 misc/windows: add src/pkg/runtime/z* files to installation script
Fixes #2614.

R=golang-dev, jdpoirier
CC=golang-dev
https://golang.org/cl/5505070
2011-12-26 20:25:31 +11:00
Andrew Gerrand e6a322b0b9 dashboard: fix todo caching nil
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5504082
2011-12-23 16:04:01 +11:00
Andrew Gerrand 5a65cbacd3 dashboard: cache packages, introduce caching helpers
R=rsc, gary.burd, adg
CC=golang-dev
https://golang.org/cl/5498067
2011-12-23 14:44:56 +11:00
David Symonds 0f14ebf993 dashboard: Don't highlight first heading row.
The two heading rows were previously a little hard to pick out,
because they were alternately shaded like the commit rows.

R=adg
CC=golang-dev
https://golang.org/cl/5500074
2011-12-23 13:21:25 +11:00
Robert Griesemer f927d9c1bb partial build fix: add missing argument to NewPackageDoc
R=r
CC=golang-dev
https://golang.org/cl/5489112
2011-12-22 15:52:56 -08:00
Russ Cox 0b702937f1 dashboard: horizontal crunch
* group builders in to columns by OS
* drop builder suffix (moved to hover title)
* cut all domain names from email (full name+email in hover title)
* make ok smaller

This should easily give us room for netbsd and plan9,
even on small laptop screens.

Running at http://build-rsc.golang.org/.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5501064
2011-12-22 10:22:38 -05:00
Russ Cox 550856c59d dashboard: do not require key in source code
Or else eventually someone will check it in.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5504071
2011-12-22 10:21:59 -05:00
Andrew Gerrand 1cf45e388d dashboard: delete old build dashboard code
R=rsc
CC=golang-dev
https://golang.org/cl/5502063
2011-12-22 09:53:52 +11:00
Andrew Gerrand 03805054e3 dashboard: add /key handler
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5504066
2011-12-22 09:38:57 +11:00
Andrew Gerrand ddc85f419f dashboard: deprecation notice for the old dashboard
R=golang-dev, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5505056
2011-12-22 09:38:35 +11:00
Andrew Gerrand 866c06b91e dashboard: fix typo in css
R=r
CC=golang-dev
https://golang.org/cl/5500059
2011-12-21 21:47:59 +11:00
Andrew Gerrand 351f7efec4 dashboard: use 'ok' instead of 'hit' or 'miss' for bool return vals
R=dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5505054
2011-12-21 21:12:03 +11:00
Andrew Gerrand 9754d61552 dashboard: cache todo responses
R=golang-dev, dsymonds, adg
CC=golang-dev
https://golang.org/cl/5500057
2011-12-21 17:24:42 +11:00
Andrew Gerrand 5b12940b09 builder: set default builder host to build.golang.org
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5489099
2011-12-21 17:12:16 +11:00
Andrew Gerrand eecb6a79ff builder: report run time
dashboard: record run time

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5504054
2011-12-21 15:43:12 +11:00
Andrew Gerrand 494e52fe1c dashboard: store front page in memcache
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5503056
2011-12-21 14:57:46 +11:00
Andrew Gerrand 4fe73ef40a dashboard: put http handlers in new file handler.go
This CL contains no code changes.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5498056
2011-12-21 14:07:32 +11:00
Andrew Gerrand 03fbf29927 dashboard: send mail on build failure
R=rsc, adg
CC=golang-dev
https://golang.org/cl/5490081
2011-12-21 13:16:47 +11:00
Andrew Gerrand 15782bbfaf dashboard: fix log recording and output
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5503054
2011-12-21 12:13:27 +11:00
Andrew Gerrand 9f0e39b992 dashboard: more descriptive logging, ui tweaks, show better auth error
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5505050
2011-12-21 11:08:47 +11:00
Andrew Gerrand b0eb68ad16 dashboard: send builder in commit POST query string
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5498055
2011-12-21 09:59:45 +11:00
Andrew Gerrand 8720105776 builder: use go-build.appspot.com instead of godashboard by default
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5489097
2011-12-21 08:28:54 +11:00
Maxim Pimenov 7be6229f9f cgo: support export for built-in types
This change doesn't pay attention to structs
so they still cannot be exported, see Issue 2552.

Fixes #2462.

R=dvyukov, rsc, iant
CC=golang-dev
https://golang.org/cl/5487058
2011-12-20 09:28:45 -08:00
Andrew Gerrand 634f0edabc dashboard: todo sends full Commit with Kind field
Permits us to implement other Kinds of todo instruction in the future.

R=rsc
CC=golang-dev
https://golang.org/cl/5495087
2011-12-20 15:30:11 +11:00
Andrew Gerrand 7c94dc04a7 dashboard: display correct package build state
Includes some boring whitespace tweaks.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5492067
2011-12-20 11:30:48 +11:00
Andrew Gerrand 35755b9cdb dashboard: improve formatting of build status page
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5493077
2011-12-19 16:57:25 +11:00
Andrew Gerrand 9b3799aa89 builder: send commit time to dashboard
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5489084
2011-12-19 16:57:03 +11:00
Andrew Gerrand 3f216c1b5d dashboard: hide build status column (package builder is out of action)
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5489080
2011-12-19 12:37:39 +11:00
Paul Sbarra 41f4ba3ae5 vim: fix go filetype detection
The filetype needs to be set during BufRead in order for the did_filetype() check to prevent the file being detected as a conf file.  One example where this can occur is if a cgo file has a #include at the top of the file.  The # is detected in vim's generic configuration (conf file) toward the bottom of filetype.vim

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5496066
2011-12-19 10:42:32 +11:00
Maxim Pimenov bf6dd2db04 various: use $GCFLAGS and $GCIMPORTS like Make does
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5489065
2011-12-16 11:31:39 -05:00
Andrew Gerrand 1338347b9c dashboard: improve key panic message
R=dsymonds
CC=golang-dev
https://golang.org/cl/5495060
2011-12-16 14:59:50 +11:00
Andrew Gerrand 80103cd54f misc/dashboard: user interface
R=rsc
CC=golang-dev
https://golang.org/cl/5461047
2011-12-16 10:48:06 +11:00
Scott Lawrence 4e066e419e misc/osx: Rename profile.go to profile_go to avoid confusing scripts
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5472043
2011-12-14 16:26:48 -05:00
Alex Brainman b2cf7b5f6b misc/cgo/test: fix after latest time changes
R=rsc
CC=golang-dev
https://golang.org/cl/5454047
2011-12-13 10:46:58 +11:00
Alex Brainman 692c31d60a misc/cgo/testso: do not leave out file behind
R=golang-dev, dvyukov
CC=golang-dev
https://golang.org/cl/5461044
2011-12-09 11:00:49 +11:00
Andrew Gerrand be587a4d53 gobuilder: goinstall packages after building go tree
R=rsc
CC=golang-dev
https://golang.org/cl/5450100
2011-12-08 10:31:06 +11:00
Robert Griesemer b955bbfbdb misc/benchcmp: don't require "Benchmark" at beginning of line
Output is package_name.BenchmarkXXX.

R=rsc
CC=golang-dev
https://golang.org/cl/5440123
2011-12-07 10:30:08 -08:00
Russ Cox 2666b815a3 use new strconv API
All but 3 cases (in gcimporter.go and hixie.go)
are automatic conversions using gofix.

No attempt is made to use the new Append functions
even though there are definitely opportunities.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5447069
2011-12-05 15:48:46 -05:00
Andrew Gerrand 263c955f2f gobuilder: use new dashboard protocol
gobuilder: -commit mode for packages
gobuilder: cripple -package mode temporarily

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5450092
2011-12-05 16:44:10 +11:00
Andrew Gerrand 2c0072217a misc/dashboard: init handler for bootstrapping
misc/dashboard: support unauthenticated GETs
misc/dashboard: add ?nukeonly=1 option to /buildtest

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5450091
2011-12-05 16:22:14 +11:00
Andrew Gerrand b9bd0c758a misc/dashboard/app: revert gofix of app engine file
R=dsymonds
CC=golang-dev
https://golang.org/cl/5451092
2011-12-05 13:44:22 +11:00
Russ Cox dcf1d7bc0e gofmt -s misc src
R=golang-dev, bradfitz, gri
CC=golang-dev
https://golang.org/cl/5451079
2011-12-02 14:14:25 -05:00
Andrew Gerrand 6c165d7ac4 dashboard: make response format consistent, implement commit GET mode
R=golang-dev, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/5437113
2011-12-02 16:05:12 +11:00
Robert Griesemer 15a3a5cf6c gofmt: applied gofmt -w -s src misc
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5451070
2011-12-01 14:33:24 -08:00
David Symonds c0a53bbc4a dashboard: don't choke on weird builder names.
R=adg
CC=golang-dev
https://golang.org/cl/5447060
2011-12-01 16:37:30 +11:00
Russ Cox 8dce57e169 os: new FileInfo, FileMode types + update tree
R=golang-dev, r, r, gri, bradfitz, iant, iant, nigeltao, n13m3y3r
CC=golang-dev
https://golang.org/cl/5416060
2011-11-30 12:04:16 -05:00
Russ Cox 03823b881c use new time API
R=bradfitz, gri, r, dsymonds
CC=golang-dev
https://golang.org/cl/5390042
2011-11-30 12:01:46 -05:00
Andrew Gerrand 4aab04178d dashboard: more tests, bug fixes, and /packages handler
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5441053
2011-11-29 19:24:57 +11:00
Robert Hencke b2329e997b cgo: fix incorrect print found by govet
R=golang-dev
CC=golang-dev
https://golang.org/cl/5445052
2011-11-29 14:40:34 +11:00
Andrew Gerrand 49dfaad870 dashboard: builder-facing implementation and tests
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5431048
2011-11-25 12:53:05 +11:00
Andrew Gerrand 79bce499a3 dashboard: new Go dashboard data structure design
R=rsc, r, dsymonds, bradfitz
CC=golang-dev
https://golang.org/cl/5416056
2011-11-23 08:13:05 +11:00
Dmitriy Vyukov 11e73b89ca cgo: add support for callbacks from dynamic libraries
R=golang-dev, rsc
CC=golang-dev, mpimenov
https://golang.org/cl/5375042
2011-11-22 17:57:49 +03:00
Scott Lawrence dd731478b8 misc/osx: Add scripts to create OS X package and disk image
Fixes #2327.

R=golang-dev, rsc, roberto, jdpoirier
CC=golang-dev
https://golang.org/cl/5375049
2011-11-18 19:05:53 -06:00
Joe Poirier 984b4e381d misc/windows packager development intermediate check-in
The installer now: allows a user to select an alternative
install directory, it now adds a Go folder to the Programs
Menu, and it places two shortcuts on the user's desktop.
The Program Menu folder contains shortcuts to the uninstaller
and two batch files, go.bat and godoc.bat. The desktop
shortcuts also point to go.bat and godoc.bat.

go.bat sets the Go environment, including Path, and spawns a
Window's shell. godoc.bat starts the godoc server at
localhost:6060 then spawns a browser window pointing to the
document server.

Setting the environment temporarily and spawning a shell, via
go.bat, should be safer than messing with the system's environment
and it makes the user experience a bit more streamlined.

The packager does work in its current state but it still needs
some polishing. And yes, the plan is to add a dialogue to allow
the user to decline the desktop shortcuts.

R=rsc, alex.brainman, tjyang2001
CC=golang-dev
https://golang.org/cl/5399042
2011-11-17 17:54:06 -06:00
Bobby Powers cb85e8ac27 misc/emacs: add delete builtin
R=golang-dev, mpimenov, gri
CC=golang-dev
https://golang.org/cl/5370101
2011-11-15 10:22:34 -08:00
Russ Cox 3db596113d misc/benchcmp: benchmark comparison script
I've been using this since April and posted it on the
mailing list, but it seems worth having in the repository.
Not sure about the location.

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/5371100
2011-11-15 12:49:22 -05:00
Anthony Starks 3811a44103 misc/notepadplus: error and rune support
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5376048
2011-11-14 11:19:08 -08:00
Anthony Starks 23f541aa54 misc/bbedit: error and rune support
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5369057
2011-11-14 11:18:00 -08:00
Evan Shaw 39b2557682 kate: add error and rune
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5370078
2011-11-14 11:16:06 -08:00
Joe Poirier e4eacf39e9 misc/windows: Go for Windows installer in MSI format
Requesting suggestions for the comment and description strings in installer.wxs.
Fixes #2394.

R=rsc, alex.brainman, tjyang2001
CC=golang-dev
https://golang.org/cl/5339046
2011-11-09 17:20:34 -06:00
Dmitriy Vyukov fbfed49134 cgo: fix g0 stack guard
Fixes crash when cgo consumes more than 8K
of stack and makes a callback.

Fixes #1328.

R=golang-dev, rogpeppe, rsc
CC=golang-dev, mpimenov
https://golang.org/cl/5371042
2011-11-09 23:11:48 +03:00
Rob Pike f9489bed72 renaming_4: gofix -r everything/but/src/pkg
R=rsc
CC=golang-dev
https://golang.org/cl/5338043
2011-11-08 15:43:02 -08:00
Russ Cox 44526cdbe0 non-pkg: gofix -r error -force=error
R=golang-dev, iant, r, r
CC=golang-dev
https://golang.org/cl/5307066
2011-11-01 22:06:05 -04:00
David Symonds 782fd1fc98 misc/vim: add error type.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5331046
2011-11-01 21:47:07 -04:00
Jan Newmarch 350a5ce64f misc/emacs/go-lang.el: Fix restoration of multiple windows in a frame after gofmt
If a frame has multiple windows then the windows must all be restored
after gofmt has finished and the old windows must be restored.
Before this fix, only the Go code edit window would be left.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5280050
2011-10-31 11:33:14 -04:00
Alex Brainman c92a499bc3 misc/windows: allow to be used for amd64
R=jdpoirier
CC=golang-dev
https://golang.org/cl/5305048
2011-10-28 08:45:17 +11:00
Jongmin Kim 0d8fb375ed misc/vim: Add rune keyword
According to adding rune type

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/5319048
2011-10-27 09:13:06 +11:00
Dave Cheney 57d07e32d8 misc/vim: add highlighting for delete
R=golang-dev, n13m3y3r
CC=golang-dev
https://golang.org/cl/5303050
2011-10-19 18:30:06 -02:00
Joe Poirier 1095305232 misc/windows: automated toolchain packager
A first run at fully automating the process.
This CL supersedes https://golang.org/cl/4634114/
which I seemed to have lost.

R=golang-dev, alex.brainman, adg
CC=golang-dev
https://golang.org/cl/5273041
2011-10-18 15:51:45 +11:00
Anthony Martin 0a4ec755e0 misc/swig: delete binaries
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5273045
2011-10-17 16:47:52 -07:00
Evan Martin 3ac7cae6e8 emacs: add a "godoc" command, like M-x man
This runs godoc and displays its output in a new buffer.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5268041
2011-10-13 09:07:42 -07:00
Robert Griesemer 787f439733 godoc: setup script for app engine, cleanups
- automated app-engine setup with bash script
- added README.godoc-app
- removed orphaned files in misc/godoc

R=rsc
CC=golang-dev
https://golang.org/cl/5231042
2011-10-12 10:48:38 -07:00
Andrew Gerrand d3eefb8cf3 dashboard: include last 100 lines in build failure mail
R=golang-dev, rsc, iant, robert.hencke
CC=golang-dev
https://golang.org/cl/5235041
2011-10-09 06:50:21 +11:00
Russ Cox 305f167b01 misc/emacs: fix indent bug
Must use case-sensitive search to identify keywords.

Fixes #2287.

R=bradfitz
CC=golang-dev
https://golang.org/cl/5182043
2011-10-05 12:27:23 -04:00
Paul Sbarra 3dc3fa0d8c vim: Send GoFmt errors to a location list
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5043046
2011-09-23 09:38:10 +10:00
Robert Griesemer c10679009a gofmt: indent multi-line signatures
There may be more fine-tuning down the line,
but this CL fixes the most pressing issue at
hand.

Also: gofmt -w src misc

Fixes #1524.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/4975053
2011-09-06 11:27:36 -07:00
Andrew Gerrand 740805fdb1 misc/goplay: another template fix
Fixes #2219.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4950063
2011-09-05 15:03:41 +10:00
Andrew Gerrand 4e7250db12 gobuilder: ignore _test.go files when looking for docs, more logging
R=n13m3y3r
CC=golang-dev
https://golang.org/cl/4918050
2011-09-05 14:48:27 +10:00
Andrew Gerrand 8ede0a67a2 misc/goplay: Fix template output
Fixes #2219.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4960052
2011-09-05 09:50:22 +10:00
Gustavo Niemeyer e1cfb6f3a9 cgo: fix GoBytes
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4956051
2011-08-30 14:33:16 -03:00
Russ Cox 79260e5bfe dashboard: yet another utf-8 fix
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4964052
2011-08-30 09:00:33 -04:00
Russ Cox a3bc7681b5 godashboard: fix utf-8 in user names
Also standardize on 'utf8' as encoding name.
Apparently either is acceptable.

The user, because it is a StringProperty,
must be of type unicode in order to handle
Unicode correctly.  It must *not* have type string.

The desc, because it is a BlobProperty, must
be of type string in order to handle Unicode correctly.
It must *not* have type unicode.

Yay encoding type pedantry without static typing.

R=adg, mattn.jp
CC=golang-dev
https://golang.org/cl/4973045
2011-08-28 22:23:44 -04:00
Wei Guangjing e753512e2d cgo: fixes callback for windows amd64
R=rsc
CC=golang-dev
https://golang.org/cl/4826041
2011-08-26 16:43:37 -04:00
Russ Cox 4946b420f2 misc/emacs: refine label detection
Based on idea in
http://patch-tracker.debian.org/patch/series/view/golang/1:59-1/008-emacs-mode-key-literal-indent.patch

Fixes #2174.

R=amdragon, ajmani, amdragon
CC=golang-dev
https://golang.org/cl/4922049
2011-08-24 16:47:12 -04:00
Russ Cox 74fc7d8f12 gobuilder: increase log limit
It's a balance between fetching too much
and falling far enough behind that you can't
catch up.  We missed 20 commits in a row
when the builders were down for a few days.
This gives us a little more leeway.

R=adg
CC=golang-dev
https://golang.org/cl/4936047
2011-08-23 22:39:39 -04:00
Andrew Gerrand 39194de8ca misc/dashboard: remove limit for json package list
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/4937048
2011-08-24 09:52:03 +10:00
Alex Brainman 72e83483a7 runtime: speed up cgo calls
Allocate Defer on stack during cgo calls, as suggested
by dvyukov. Also includes some comment corrections.

benchmark                   old,ns/op   new,ns/op
BenchmarkCgoCall                  669         330
(Intel Xeon CPU 1.80GHz * 4, Linux 386)

R=dvyukov, rsc
CC=golang-dev
https://golang.org/cl/4910041
2011-08-18 12:17:09 -04:00
Yasuhiro Matsumoto d2a45dbf08 misc/vim: command complete using autoload helper function.
R=golang-dev, dsymonds, jnwhiteh, n13m3y3r, gustavo
CC=golang-dev
https://golang.org/cl/4837051
2011-08-18 11:50:55 +10:00
Rob Pike a22e77e6ae template: move exp/template into template.
(Leave exp/template/html where it is for now.)

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4899048
2011-08-17 14:55:57 +10:00
Rob Pike 73b7afbebd template: delete old template code.
It's already in old/template; make that build.
Update a couple of references to point to the old template.
They can be updated later.
Update goplay to use exp/template.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4902046
2011-08-17 14:34:48 +10:00
Rob Pike 1d8f822c17 url: new package
This is just moving the URL code from package http into its own package,
which has been planned for a while.
Besides clarity, this also breaks a nascent dependency cycle the new template
package was about to introduce.

Add a gofix module, url, and use it to generate changes outside http and url.

Sadness about the churn, gladness about some of the naming improvements.

R=dsymonds, bradfitz, rsc, gustavo, r
CC=golang-dev
https://golang.org/cl/4893043
2011-08-17 13:36:02 +10:00
Julian Phillips 01dd57b312 cgo: omit duplicate symbols in writeDefs
When the C API being used includes multiple names for the same
underlying symbol (e.g. multiple #define's for the same variable), then
cgo will generate the same placeholder variables for each name.  This
then prevents the code from compiling due to multiple declarations of
the same variable - so change cgo to only create one instance of the
variable for the underlying symbol.

R=rsc
CC=golang-dev
https://golang.org/cl/4826055
2011-08-16 14:56:23 -04:00
Yasuhiro Matsumoto b32e210586 misc/vim: Godoc command.
vim command 'Godoc' to see godoc.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4815071
2011-08-03 16:46:35 +10:00
Russ Cox db9229def8 cgo: add GoBytes, fix gmp example
Fixes #1640.
Fixes #2007.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4815063
2011-07-28 12:39:50 -04:00
Andrew Gerrand dbba5ccfab gobuilder: goinstall with -dashboard=false instead of -log=false
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/4801043
2011-07-20 16:07:40 +10:00
Andrew Gerrand 48d1240e51 misc/dashboard: center align build results
R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/4806041
2011-07-20 11:22:56 +10:00
Tarmigan Casebolt a0d3be1689 goinstall, dashboard: Google Code now supports git
R=golang-dev, adg, rsc, tarmigan+golang
CC=golang-dev
https://golang.org/cl/4760055
2011-07-19 16:58:18 +10:00
Andrew Gerrand 7a18fc3bcb dashboard: list "most installed this week" with rolling count
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4631085
2011-07-19 11:12:10 +10:00
Brad Fitzpatrick e8689404a7 cgo: add missing semicolon in generated struct
This affected certain signatures needing padding
like:

//export Foo
func Foo() (int, C.long) { ... }

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4745047
2011-07-18 07:23:52 -07:00
Robert Griesemer 90564a9256 go/printer: changed max. number of newlines from 3 to 2
manual changes in src/pkg/go/printer, src/cmd/gofix/signal_test.go
(cd src/cmd/gofix/testdata; gofmt -w *.in *.out)
(cd src/pkg/go/printer; gotest -update)
gofmt -w misc src

runs all tests

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4715041
2011-07-14 14:39:40 -07:00
Andrew Gerrand 6a2e2432c9 dashboard: show build state and package comments on dashboard
This permits full URLs to be shown on the dashboard,
not just the repository roots.

This has been tested.

R=rsc, mattn.jp
CC=golang-dev
https://golang.org/cl/4627081
2011-07-02 14:02:42 +10:00
Yasuhiro Matsumoto 369418d29c misc/vim: allow only utf-8 for fileencoding (fix CL4625078).
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4650062
2011-06-30 17:07:44 +10:00
Yasuhiro Matsumoto 51a79d0306 misc/vim: allow only utf-8 for fileencoding.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4625078
2011-06-30 16:19:53 +10:00
Andrew Gerrand 546c78b744 builder: minor fixes
R=golang-dev, gri, bradfitz
CC=golang-dev
https://golang.org/cl/4634050
2011-06-28 16:01:52 +10:00
Rob Pike ebb1566a46 strings.Split: make the default to split all.
Change the signature of Split to have no count,
assuming a full split, and rename the existing
Split with a count to SplitN.
Do the same to package bytes.
Add a gofix module.

R=adg, dsymonds, alex.brainman, rsc
CC=golang-dev
https://golang.org/cl/4661051
2011-06-28 09:43:14 +10:00
Quan Yong Zhai fc57c4b7a9 misc/emacs: update list of builtins.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4630065
2011-06-24 11:19:48 -07:00
Robert Hencke b88e669a8f nacl, tiny: remove vestiges
R=golang-dev, r, rsc
CC=golang-dev
https://golang.org/cl/4635053
2011-06-21 12:02:40 -04:00
Alex Brainman 524d02cbca builder: run make single-threaded on windows
Will still honor MAKEFLAGS environment variable if set.

R=golang-dev
CC=bradfitz, golang-dev
https://golang.org/cl/4644049
2011-06-21 12:26:38 +10:00
Yasuhiro Matsumoto b7b8f2b086 misc/godashboard: Accept sub-directories for goinstall's report.
Fixed issue 1155.

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/4592059
2011-06-20 14:46:32 +10:00
Brad Fitzpatrick 6a876283c8 http: change most map[string][]string types to new Values type
This replaces most the map[string][]string usage with
a new Values type name, with the usual methods.

It also changes client.PostForm to take a Values, rather
than a map[string]string, closing a TODO in the code.

R=rsc
CC=golang-dev
https://golang.org/cl/4532123
2011-06-08 13:38:20 -07:00
Alex Brainman 548e3d0342 gobuilder: number of fixes
1) runLog to return err==nil if program runs, but returns exitcode!=0;
2) runLog to return err!=nil when fails to create log file;
3) print failed program name, not just "all.bash".

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4532117
2011-06-06 22:17:28 +10:00
Andrew Gerrand 3b938f7db0 dashboard: bug fix
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4535104
2011-06-06 10:41:11 +10:00
Andrew Gerrand f4f5836840 dashboard: add favicon.ico
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4547082
2011-06-03 15:27:28 +10:00
Brad Fitzpatrick f259f6ba0a exec: new API, replace Run with Command
This removes exec.Run and replaces exec.Cmd with a
new implementation. The new exec.Cmd represents
both a currently-running command and also a command
being prepared. It has a good zero value.

You can Start + Wait on a Cmd, or simply Run it.
Start (and Run) deal with copying stdout, stdin,
and stderr between the Cmd's io.Readers and
io.Writers.

There are convenience methods to capture a command's
stdout and/or stderr.

R=r, n13m3y3r, rsc, gustavo, alex.brainman, dsymonds, r, adg, duzy.chan, mike.rosset, kevlar
CC=golang-dev
https://golang.org/cl/4552052
2011-06-01 15:26:53 -07:00
Robert Griesemer 59a190589a godoc: basic setup for running godoc on local app engine emulator
R=rsc
CC=golang-dev
https://golang.org/cl/4559058
2011-06-01 15:12:47 -07:00
Rob Pike 378c806c31 gophertool: make the keyword 'golang'
R=bradfitz
CC=golang-dev
https://golang.org/cl/4529102
2011-06-01 07:24:33 +10:00
Brad Fitzpatrick f4349f7368 gophertool: also permit typing "go [whatever]" in omnibox
R=rsc
CC=golang-dev
https://golang.org/cl/4560056
2011-05-31 13:16:51 -07:00
Russ Cox 6216307e25 misc/cgo: remove reference to 'destroy' function
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4558042
2011-05-31 14:41:24 -04:00
Andrew Gerrand 55f8fd2684 gobuilder: remove some windows-specificity
R=alex.brainman
CC=golang-dev
https://golang.org/cl/4528109
2011-05-30 20:19:56 +10:00
Robert Hencke 3fbd478a8a pkg: spelling tweaks, I-Z
also, a few miscellaneous fixes to files outside pkg

R=golang-dev, dsymonds, mikioh.mikioh, r
CC=golang-dev
https://golang.org/cl/4517116
2011-05-30 18:02:59 +10:00
Yasuhiro Matsumoto c6fd1e0115 misc/vim: limit Fmt command to Go buffers.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4548072
2011-05-30 12:20:00 +10:00
Andrew Gerrand 5784dcfd19 dashboard: send notification emails when the build breaks
R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/4530061
2011-05-30 11:27:31 +10:00
Alex Brainman 55dd63bb4e gobuilder: fixes for windows
R=r, devon.odell, iant, rsc, adg
CC=bradfitz, golang-dev, jdpoirier
https://golang.org/cl/4536053
2011-05-30 11:20:46 +10:00
Eric Eisner ed0c0f2c80 misc/emacs: don't select the mark after gofmt
R=ajmani
CC=golang-dev
https://golang.org/cl/4553054
2011-05-23 22:47:25 -04:00
Brad Fitzpatrick f5a011dd0c gophertool: also accept commit form 8486:ab29d2698a47
... as "hg log" produces by default.

And add a README.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/4529080
2011-05-23 14:27:51 -07:00
Brad Fitzpatrick 09dd5bf13b gophertool: Chrome extension to aid in Go development
Contains common links & a smart text box that recognizes various
identifiers and jumps to one of:

* issue URL,
* codereview URL,
* commit URL,
* package docs

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/4553058
2011-05-23 14:05:18 -07:00
Alexander Orlov 5107041df7 misc: syntax highlighting support on IntelliJ IDEA
Go keywords from Vim's syntax configuration file were used.
Issue Tracker Reference: http://code.google.com/p/go/issues/detail?id=1850

Fixes #1850.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/4547054
2011-05-20 11:03:33 -07:00
Robert Griesemer b790ae2efb go/printer, gofmt: fix formatting of expression lists (missing blank)
This appears to have been a long-standing formatting bug.
The test cases has misformatted golden files.

Applied gofmt -w src misc .

Fixes #1839.

R=iant
CC=golang-dev
https://golang.org/cl/4515113
2011-05-19 17:05:35 -07:00
David Symonds 816f4bb1d8 misc/vim: drop indent support for jump labels.
It interferes with keys in composite literals,
which are much more common.

R=dchest, jnwhiteh, rlight2
CC=golang-dev
https://golang.org/cl/4521065
2011-05-14 09:45:32 -07:00
Russ Cox ac65eaa5b9 dashboard: delay hg pull until needed
R=adg
CC=golang-dev
https://golang.org/cl/4526052
2011-05-13 12:14:31 -04:00
David Symonds 1a7d09c847 misc/vim: new Vim indentation script.
This uses a fully custom function for indenting Go code in Vim.
It provides a lot more flexibility than a cindent-based approach,
so this version gets the := operator correct, as well as switch
labels and jump labels.

One outstanding TODO is to handle lines immediately after jump labels.

R=adg, n13m3y3r, jnwhiteh, dchest, rsc, rlight2
CC=golang-dev, rivercheng
https://golang.org/cl/4534047
2011-05-13 08:29:44 -07:00
Sameer Ajmani cc5ac676da misc/emacs: bug fix: use UTF-8 when invoking gofmt as a subprocess.
Without this, Unicode characters are stripped out by M-x gofmt.

R=rsc, amdragon
CC=golang-dev
https://golang.org/cl/4523065
2011-05-13 11:05:03 -04:00
Brad Fitzpatrick 05a1b7ec41 http: remove finalURL from Client.Get; move to Response
This CL:

-- removes Response.RequestMethod string
-- adds Response.Request *Request
-- removes the finalURL result parameter from client.Get()
-- adds a gofix rule for callers of http.Get which assign
   the final url to the blank identifier; warning otherwise

Caller who did:

res, finalURL, err := http.Get(...)

now need to do:

res, err := http.Get(...)
if err != nil {
   ...
}
finalURL := res.Request.URL.String()

R=rsc
CC=golang-dev
https://golang.org/cl/4535056
2011-05-13 07:31:24 -07:00
Russ Cox 12c3afc1ae dashboard: fix for branches
In the new world, one builder runs
        gobuilder -commit
which uploads information about commits to the dashboard,
which then hands the work out to the builders by hash.
There is no assumption anymore that the commit numbers
are consistent across builders.

New builders will need to be deployed.  For now darwin-amd64
is running the new builder to test the code.

The new JSON-based protocol for handing out work via /todo
should be easy to extend if we want to add support for sending
trial CLs to the builders.

This code is already running on godashboard.appspot.com.

R=adg, dave
CC=golang-dev
https://golang.org/cl/4519047
2011-05-12 11:21:34 -04:00
Robert Griesemer 499ad9448b go/printer, gofmt: fix alignment of "=" in const/var declarations
gofmt -w src misc

Fixes #1414.

R=rsc, r
CC=golang-dev
https://golang.org/cl/4456054
2011-05-09 15:16:34 -07:00
Brad Fitzpatrick 623e7de187 os: make Setenv update C environment variables
Fixes #1569

R=rsc, bradfitzwork
CC=golang-dev
https://golang.org/cl/4456045
2011-05-02 12:38:13 -07:00
Russ Cox f985638b94 misc/cgo/test: run tests
The new gotest ignores Test functions outside *_test.go files
(the old shell script allowed them), so replace one clumsy hack
with another.

The root problem is that the package makefiles only know
how to run cgo for source files in the package proper, not
for test files.  Making it work for test files is probably more
trouble than it's worth.

R=bradfitz
CC=golang-dev
https://golang.org/cl/4452060
2011-05-02 13:55:51 -04:00
Andrew Gerrand 50e65ab30d builder: build multiple targets in parallel
R=rsc, dfc
CC=golang-dev
https://golang.org/cl/4452047
2011-04-27 10:12:10 +10:00
Russ Cox 63d531a83e dashboard: build most recent revision first
Will fill dashboard down the screen instead of up
when builders get stuck and resume.  Already live.

Also delete dead benchmark code.
I think it is safe to say that if/when we bring
benchmarks back, we will use a different
data model.

Fixes #1228.

R=adg
CC=golang-dev
https://golang.org/cl/4449059
2011-04-25 23:48:06 -04:00
Dmitry Chestnykh 99b0eefd40 misc/goplay: fix Tab and Shift+Enter in Firefox.
Fixes #1633.

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/4439042
2011-04-16 18:44:51 +10:00
Dave Cheney 91dfae756e gobuilder: respect MAKEFLAGS if provided
R=adg
CC=golang-dev
https://golang.org/cl/4426041
2011-04-15 12:35:19 +10:00
Andrew Gerrand 9fba2a17c2 gobuilder: permit builders of the form goos-goarch-foo
R=dfc
CC=golang-dev
https://golang.org/cl/4416044
2011-04-15 11:56:56 +10:00
Andrew Gerrand dcf32a24a0 builder: fix documentation s/\.gobuilder/.gobuildkey/
R=rsc
CC=golang-dev
https://golang.org/cl/4312051
2011-04-13 14:49:56 +10:00
Dmitry Chestnykh 89901bbd14 misc/vim: add plugin with Fmt command.
Fmt command filters the current Go buffer through gofmt.
It tries to preserve cursor position and avoids replacing
the buffer with stderr output.

R=golang-dev, dsymonds, niemeyer
CC=golang-dev
https://golang.org/cl/4382053
2011-04-13 11:55:41 +10:00
Gustavo Niemeyer 328aac3a49 godashboard: Show packages at launchpad.net
The changes were not tested for real in an App Engine environment,
so extra care should be taken.  That said, some static testing
was done with pyflakes, and a few existent problems were fixed on
the way.

R=adg
CC=golang-dev
https://golang.org/cl/4378053
2011-04-13 10:34:35 +10:00
David Symonds dd4423292e misc/vim: update type highlighting for new reflect package
R=adg
CC=golang-dev
https://golang.org/cl/4385051
2011-04-11 08:48:19 +10:00
Russ Cox de3aac609c gofix: don't rewrite O_APPEND opens
R=r, rog
CC=golang-dev
https://golang.org/cl/4364041
2011-04-05 11:12:02 -04:00
Rob Pike 8a90fd3c72 os: New Open API.
We replace the current Open with:
OpenFile(name, flag, perm) // same as old Open
Open(name) // same as old Open(name, O_RDONLY, 0)
Create(name) // same as old Open(name, O_RDWR|O_TRUNC|O_CREAT, 0666)

This CL includes a gofix module and full code updates: all.bash passes.
(There may be a few comments I missed.)

The interesting packages are:
        gofix
        os
Everything else is automatically generated except for hand tweaks to:
        src/pkg/io/ioutil/ioutil.go
        src/pkg/io/ioutil/tempfile.go
        src/pkg/crypto/tls/generate_cert.go
        src/cmd/goyacc/goyacc.go
        src/cmd/goyacc/units.y

R=golang-dev, bradfitzwork, rsc, r2
CC=golang-dev
https://golang.org/cl/4357052
2011-04-04 23:42:14 -07:00
Anthony Starks 731786439c misc/notepadplus: add syntax and completion support for notepad++
R=golang-dev, adg, peterGo
CC=golang-dev
https://golang.org/cl/4274072
2011-04-01 14:44:57 +11:00
Evan Shaw ac74f14b6b kate: reorganize, remove closed()
R=rsc
CC=golang-dev
https://golang.org/cl/4325041
2011-03-29 01:12:39 -04:00
Andrew Gerrand c3fa7305d1 dashboard: remove old python/bash builder, update README
R=rsc
CC=golang-dev
https://golang.org/cl/4275076
2011-03-26 11:56:34 +11:00
Sameer Ajmani 0ac151fd5c misc/emacs: gofmt: don't clobber the current buffer on failure
Change M-x gofmt to display errors in a new buffer instead of
clobbering the current buffer.

Add gofmt-before-save, which runs gofmt when in go-mode.  This
can be used with before-save-hook.  Add to your .emacs:
  (add-hook 'before-save-hook 'gofmt-before-save)

R=rsc, aclements, amdragon
CC=golang-dev
https://golang.org/cl/4276059
2011-03-24 10:35:39 -04:00
Anthony Starks aa798d26c4 misc/bbedit: remove closed keyword
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4284058
2011-03-23 16:29:40 +11:00
David Symonds aad62bf409 misc/vim: remove 'closed' as a builtin function.
R=adg, r
CC=golang-dev
https://golang.org/cl/4285059
2011-03-23 14:26:28 +11:00
Ian Lance Taylor f91b37b962 Make.pkg: add support for SWIG, and add two SWIG examples
The SWIG examples are not yet built or tested by default.

R=r, rsc, iant2
CC=golang-dev
https://golang.org/cl/4287056
2011-03-22 13:05:51 -07:00
Robert Griesemer 6684d5503a go/printer, gofmt: simplify struct formatting and respect line breaks
Also: gofmt src misc

Fixes #1627.

R=rsc
CC=golang-dev
https://golang.org/cl/4303042
2011-03-22 11:05:26 -07:00
Andrew Gerrand 5dd0869bf5 codereview: permit CLs of the form weekly.DATE
gobuilder: recognize CLs of the form weekly.DATE

R=rsc, r
CC=golang-dev
https://golang.org/cl/4282052
2011-03-17 09:11:08 +11:00
Ross Light d7eacee603 misc/vim: Add indent script for Vim
R=adg
CC=golang-dev
https://golang.org/cl/4258041
2011-03-08 15:42:23 +11:00
Robert Griesemer 4b4a1ea899 misc/dashboard/builder/doc.go: gofmt it
R=r, adg
CC=golang-dev
https://golang.org/cl/4256052
2011-03-07 11:00:57 -08:00
Russ Cox f9ca3b5d5b runtime: scheduler, cgo reorganization
* Change use of m->g0 stack (aka scheduler stack).
* Provide runtime.mcall(f) to invoke f() on m->g0 stack.
* Replace scheduler loop entry with runtime.mcall(schedule).

Runtime.mcall eliminates the need for fake scheduler states that
exist just to run a bit of code on the m->g0 stack
(Grecovery, Gstackalloc).

The elimination of the scheduler as a loop that stops and
starts using gosave and gogo fixes a bad interaction with the
way cgo uses the m->g0 stack.  Cgo runs external (gcc-compiled)
C functions on that stack, and then when calling back into Go,
it sets m->g0->sched.sp below the added call frames, so that
other uses of m->g0's stack will not interfere with those frames.
Unfortunately, gogo (longjmp) back to the scheduler loop at
this point would end up running scheduler with the lower
sp, which no longer points at a valid stack frame for
a call to scheduler.  If scheduler then wrote any function call
arguments or local variables to where it expected the stack
frame to be, it would overwrite other data on the stack.
I realized this possibility while debugging a problem with
calling complex Go code in a Go -> C -> Go cgo callback.
This wasn't the bug I was looking for, it turns out, but I believe
it is a real bug nonetheless.  Switching to runtime.mcall, which
only adds new frames to the stack and never jumps into
functions running in existing ones, fixes this bug.

* Move cgo-related code out of proc.c into cgocall.c.
* Add very large comment describing cgo call sequences.
* Simpilify, regularize cgo function implementations and names.
* Add test suite as misc/cgo/test.

Now the Go -> C path calls cgocall, which calls asmcgocall,
and the C -> Go path calls cgocallback, which calls cgocallbackg.

The shuffling, which affects mainly the callback case, moves
most of the callback implementation to cgocallback running
on the m->curg stack (not the m->g0 scheduler stack) and
only while accounted for with $GOMAXPROCS (between calls
to exitsyscall and entersyscall).

The previous callback code did not block in startcgocallback's
approximation to exitsyscall, so if, say, the garbage collector
were running, it would still barge in and start doing things
like call malloc.  Similarly endcgocallback's approximation of
entersyscall did not call matchmg to kick off new OS threads
when necessary, which caused the bug in issue 1560.

Fixes #1560.

R=iant
CC=golang-dev
https://golang.org/cl/4253054
2011-03-07 10:37:42 -05:00
Andrew Gerrand 34f2f68354 gobuilder: add -package flag to build external packages
Also add -v for verbose logging.

R=rsc, gri, r, r2
CC=golang-dev
https://golang.org/cl/4172056
2011-03-03 14:41:09 +11:00
Andrew Gerrand 7f5acfb283 misc/dashboard/builder: talk to hg with utf-8 encoding always.
Fixes #1465.

R=rsc
CC=golang-dev
https://golang.org/cl/4172063
2011-02-23 07:47:53 +11:00
Andrew Gerrand 79ba1ce076 misc/dashboard: tweak build fail notification email
R=rsc
CC=golang-dev
https://golang.org/cl/4170063
2011-02-19 07:37:24 +11:00
Andrew Gerrand 00d8d0052a misc/dashboard: notify golang-dev on build failure
Fixes #1229.

R=rsc
CC=golang-dev
https://golang.org/cl/4178048
2011-02-18 03:34:22 +11:00
Rob Pike fb9e37cd9b template: reverse order of arguments to Execute
In line with other functions such as Fprintf, put the
thing to be written first.

Apologies for the breakages this is sure to cause.

R=rsc, gri, adg, eds, r2, aam
CC=golang-dev
https://golang.org/cl/4169042
2011-02-09 14:23:01 -08:00
Andrew Gerrand bbb7080b99 misc/dashboard: hide benchmarks link temporarily
R=rsc
CC=golang-dev
https://golang.org/cl/4128061
2011-02-09 00:03:08 -05:00
Robert Griesemer 288a39c86b go/ast: reflect communication operator changes accurately in ast
- go/ast: introduce SendStmt; adjust SelectStmt
- go/parser: accept new communication syntax, minor
  unrelated cleanups
- go/printer: adjustments for new ast, fewer binary
  expression precedences
- go/token: remove one binary precedence

Adjusted dependent code. gofmt -w src -misc. Ran all tests.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3989056
2011-02-01 13:47:51 -08:00
Rob Pike eea18d959e log: rename Exit* to Fatal*
This aligns the naming scheme with the testing package and
also lets govet work on more logging calls.

R=rsc
CC=golang-dev
https://golang.org/cl/4001048
2011-02-01 12:47:35 -08:00
Gustavo Niemeyer 5887ef7571 misc/vim: Define import commands on buffer switch
This change fixes the import plugin so that the
defined commands are available when opening a new
Go buffer from within Vim itself.

R=adg, rsc
CC=golang-dev
https://golang.org/cl/3998053
2011-02-01 11:12:57 +11:00
Gustavo Niemeyer 400d7772cc misc/vim: Document better syntax sync parameter
Forcing the synchronization of 500 lines is both slower and
less precise than searching for a known sync point.
Unfortunately, though, the way to synchronize correctly is
using the grouphere instruction, which has a bug.

I've already proposed the fix to Vim, so future releases
should have this working.  We can continue using the 500 lines
syncing for now.

This change just documents the proper way to sync.

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/4029047
2011-02-01 11:12:45 +11:00
Yasuhiro Matsumoto 90585bde37 misc/vim/syntax: set large value to 'syntax sync'.
R=golang-dev, dsymonds, adg
CC=golang-dev
https://golang.org/cl/4102044
2011-01-27 23:03:52 +10:00
Gustavo Niemeyer 4e5e0b1d20 misc: Import/Drop commands for Vim
New ftplugin adds Import and Drop commands for Go buffers
in Vim.  These commands ensure that the provided package is
imported (or not imported) in the current Go buffer, using
proper style and ordering, without moving the cursor.

E.g.

    :Import strings
    :ImportAs . strings
    :Drop strings

Two mappings are also introduced to help with the fmt package:

    \f => :Import fmt
    \F => :Drop fmt

R=adg
CC=golang-dev
https://golang.org/cl/4009043
2011-01-25 11:36:13 +10:00
Russ Cox 5cfadeb047 misc: update type + builtin lists found in editor support files
R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/4072041
2011-01-19 23:07:49 -05:00
Andrew Gerrand a4bade8592 gobuilder: prefix the tarball with 'go.', tweak release regexp
R=rsc
CC=golang-dev
https://golang.org/cl/3775047
2011-01-04 13:16:38 +11:00
Russ Cox 6c6d53052e cgo: handle references to symbols in shared libraries
Fixes #1334.

R=r
CC=golang-dev
https://golang.org/cl/3746041
2010-12-17 11:37:11 -08:00
Russ Cox 0cd3475386 misc/cgo/life: fix, add to build
#pragma dynexport is no longer needed for
this use of cgo, since the gcc and gc code are
now linked together into the same binary.
It may still be necessary later.

On the Mac, you cannot use the GOT to resolve
symbols that exist in the current binary, so 6l and 8l
translate the GOT-loading mov instructions into lea
instructions.

On ELF systems, we could use the GOT for those
symbols, but for consistency 6l and 8l apply the
same translation.

The translation is sketchy in the extreme
(depending on the relocation being in a mov
instruction) but it verifies that the instruction
is a mov before rewriting it to lea.

Also makes typedefs global across files.

Fixes #1335.
Fixes #1345.

R=iant, r
CC=golang-dev
https://golang.org/cl/3650042
2010-12-17 09:51:55 -08:00
Ryan Hitchman 5742ded3ad godashboard: support submitting projects with non-ascii names
Fixes #1314.

R=adg, rsc
CC=golang-dev
https://golang.org/cl/3459043
2010-12-15 12:07:30 +11:00
Russ Cox 9da73612ed cgo: do not reset tag generator between files
Clean up an error message and error exit too.
Insert blank line after "DO NOT EDIT" comment
to keep it from being a doc comment.

Fixes #1213.
Fixes #1222.

R=r
CC=golang-dev
https://golang.org/cl/3608042
2010-12-13 13:20:04 -05:00
Andrew Gerrand 8984fa8fce dashboard: fix project tag filter
R=rsc
CC=golang-dev
https://golang.org/cl/3439043
2010-12-10 08:29:34 +11:00
Devon H. O'Dell dfd98d090c builder: Allow buildroot to be passed as command-line argument
R=adg
CC=golang-dev
https://golang.org/cl/3473041
2010-12-06 10:34:39 +11:00
Evan Shaw f62772b1e5 kate: update for append
R=golang-dev, PeterGo, gri
CC=golang-dev
https://golang.org/cl/2710044
2010-10-30 21:25:19 -07:00
Anthony Starks edaeb88bd5 misc/bbedit: support append, other builtins
R=golang-dev, PeterGo, adg
CC=golang-dev
https://golang.org/cl/2791042
2010-10-30 22:15:59 +11:00
David Symonds 0451cd1950 misc/vim: update list of builtins.
R=adg
CC=golang-dev
https://golang.org/cl/2807041
2010-10-30 22:07:01 +11:00
Andrew Gerrand fe57dd8522 builder: pass GOHOSTOS and GOHOSTARCH to build
R=rsc
CC=golang-dev
https://golang.org/cl/2759041
2010-10-27 11:27:52 +11:00
Robert Griesemer 3478891d12 gofmt -s -w src misc
R=r, rsc
CC=golang-dev
https://golang.org/cl/2662041
2010-10-22 10:06:33 -07:00
Andrew Gerrand f16b6b14d8 misc: update python scripts to specify python2 or nothing
(Hopefully this changeset will notice my +x to googlecode_upload.py)

Fixes #1217.

R=rsc
CC=golang-dev
https://golang.org/cl/2634041
2010-10-21 15:41:51 +11:00
Andrew Gerrand b3601a5c5b gobuilder: write build and benchmarking logs to disk
R=rsc
CC=golang-dev
https://golang.org/cl/2637041
2010-10-21 15:33:31 +11:00
Andrew Gerrand 06492d47cb build: add gobuilder and goplay to run.bash
gobuilder: fix build to work with new log package

R=rsc
CC=golang-dev
https://golang.org/cl/2592041
2010-10-21 10:46:10 +11:00
Yasuhiro Matsumoto e64280ecfa goplay: fix to run under windows.
Fixes #1204.

R=golang-dev, brainman, Joe Poirier, alex.brainman, adg
CC=golang-dev, math-nuts
https://golang.org/cl/2532041
2010-10-19 11:29:31 +11:00
Andrew Gerrand e2df7f42ac misc: add goplay
R=rsc, r
CC=golang-dev
https://golang.org/cl/2473041
2010-10-14 14:06:02 +11:00
Graham Miller cc5c2ee0ec life: fix for new slice rules
R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/2341049
2010-10-07 04:52:13 -04:00
Andrew Gerrand 03babfc626 Use Errorf where appropriate.
R=r, r2
CC=golang-dev
https://golang.org/cl/2308043
2010-10-01 14:14:18 +10:00
Andrew Gerrand fdb9e68c4e misc/dashboard/builder: remove build files after benchmarking
R=r
CC=golang-dev
https://golang.org/cl/2270041
2010-09-30 11:59:36 +10:00
Andrew Gerrand 96d6f9dea4 misc/dashboard/builder: -cmd for user-specified build command
R=rsc
CC=golang-dev
https://golang.org/cl/2248043
2010-09-22 15:18:41 +10:00
Russ Cox a2450c1456 cgo: bug fixes
* Add documentation about array arguments.  Fixes issue 1125.
* Do not interpret x, y := z, w as special errno form.  Fixes issue 952.
* Fix nested Go calls (brainman).  Fixes issue 907.

R=r
CC=golang-dev
https://golang.org/cl/2214044
2010-09-21 22:41:19 -04:00
Andrew Gerrand 0e73fffe36 misc/dashboard/builder: fix bug that caused old revisions to be rebuilt
R=rsc, r2
CC=golang-dev
https://golang.org/cl/2213044
2010-09-22 11:42:40 +10:00
Andrew Gerrand 6952347200 misc/dashboard/builder: fixes and improvements
- fix release upload
- add -rev= flag to build specific revision and exit
- added support for all-$GOARCH.bash

R=rsc
CC=golang-dev
https://golang.org/cl/2247044
2010-09-21 20:32:36 +10:00
Scott Lawrence 3b9a024d29 go-mode.el: Fix highlighting for 'chan' type
Fixes #1038.

R=aclements, rsc
CC=golang-dev
https://golang.org/cl/2111046
2010-09-13 00:12:18 -04:00
Andrew Gerrand 3e8cc7f114 misc/dashboard/builder: gobuilder, a continuous build client
R=rsc
CC=golang-dev
https://golang.org/cl/2126042
2010-09-13 10:46:17 +10:00
Andrew Gerrand e11bcc88f5 revert accidental submit of builder.go
R=rsc
CC=golang-dev
https://golang.org/cl/2121042
2010-09-03 18:08:16 +10:00
Andrew Gerrand 1a5d3c224d misc/dashboard/builder: Go implementation of continuous build client
R=rsc, r
CC=golang-dev
https://golang.org/cl/2112042
2010-09-03 17:57:13 +10:00
Scott Lawrence 0f61f0140d misc/bash: add *.go completion for gofmt
R=golang-dev, rsc1, rsc
CC=golang-dev
https://golang.org/cl/2039044
2010-08-30 21:13:11 -04:00
Scott Lawrence 815a67850c misc: add zsh completion (using compctl)
R=golang-dev, rsc1, rsc
CC=golang-dev
https://golang.org/cl/2061042
2010-08-30 21:13:01 -04:00
Christian Himpel 5c603dbb75 build: remove unnecessary references to GOBIN and GOROOT
All scripts and makefiles assume that GOBIN is correctly set
in PATH.

R=rsc
CC=golang-dev
https://golang.org/cl/2043041
2010-08-30 15:40:56 -04:00
Vincent Ambo c1497a0589 misc/fraise: syntax highlighting for Fraise.app (OS X)
R=golang-dev, adg1, adg
CC=golang-dev
https://golang.org/cl/2075041
2010-08-30 15:07:33 +10:00
Scott Lawrence 87229f54c3 misc/emacs: make _ a word symbol
Fixes #655.

R=rsc, aclements
CC=golang-dev
https://golang.org/cl/1981041
2010-08-26 13:32:50 -04:00
Russ Cox da392d9136 build: no required environment variables
R=adg, r, PeterGo
CC=golang-dev
https://golang.org/cl/1942044
2010-08-18 10:08:49 -04:00
Christian Himpel 3dc6c9e64d misc/vim: highlight misspelled words only in comments
R=adg
CC=golang-dev
https://golang.org/cl/1915043
2010-08-05 10:31:00 +10:00
Andrew Gerrand 5443bbe292 builder: update script so it doesn't create tar-bombs
R=rsc
CC=golang-dev
https://golang.org/cl/1857048
2010-08-03 11:06:18 +10:00
Kai Backman 96ad9adef3 arm: add gdb support to android launcher script
R=rsc
CC=golang-dev
https://golang.org/cl/1742050
2010-07-30 10:35:07 +03:00
Andrew Gerrand 3402c5e8fe misc/builder: support for uploading tarballs to googlecode
R=rsc
CC=golang-dev
https://golang.org/cl/1784042
2010-07-30 14:00:59 +10:00
Andrew Gerrand fc5a835b2e dashboard: more aggressive caching for project/package pages
Plus automatic package<->project association script.
(This is just a helper script for now. I intend to fully automate
the associations further down the track.)

R=rsc
CC=golang-dev
https://golang.org/cl/1715054
2010-07-27 15:02:44 +10:00
Petar Maymounkov 2b3508425e misc/vim: updated syntax file to recognize constants of the form 1e9
R=rsc, adg
CC=golang-dev
https://golang.org/cl/1864042
2010-07-23 11:33:17 +10:00
Kai Backman dcd9d78549 minor error checking to android launcher
R=dho
CC=golang-dev
https://golang.org/cl/1777041
2010-07-19 11:43:33 +03:00
Russ Cox 0432f289f7 cgo: various bug fixes
* remember #defined names, so that C.stdout can refer
  to the real name (on OS X) __stdoutp.
* better handling of #defined constant expressions
* allow n, err = C.strtol("asdf", 0, 123) to get errno as os.Error
* write all output files to current directory
* don't require gcc output if there was no input

Fixes #533.
Fixes #709.
Fixes #756.

R=r
CC=dho, golang-dev, iant
https://golang.org/cl/1734047
2010-07-14 17:17:53 -07:00
Andrew Gerrand 1930cd5d38 dashboard: use jQuery Autocomplete plugin from Google AJAX Libs API
R=rsc
CC=golang-dev
https://golang.org/cl/1677053
2010-07-13 10:21:08 +10:00
Andrew Gerrand 6e83100ae5 godashboard: add Projects page
R=rsc, r, gri
CC=golang-dev
https://golang.org/cl/1476041
2010-06-23 15:27:51 +01:00
Andrew Gerrand 00d838b7b5 misc/vim: always override filetype detection for .go files
R=adg
CC=golang-dev
https://golang.org/cl/1665043
2010-06-22 15:22:49 +01:00
James Whitehead 5cb4f82bbc misc/vim: clarifies syntax highlighting installation instructions
Based on the review of CL 1723044, I've changed the installation instructions
for the vim syntax files to suggest symlinking the files rather than copying
the files. Also the wording has changed to be more consistent.

R=golang-dev, Kyle Lemons, adg
CC=golang-dev
https://golang.org/cl/1702045
2010-06-21 07:35:24 +02:00
James Whitehead d67717c29b misc/vim: reorganize plugin so it uses ftplugin and syntax
This sets up vim to work out of the box with go programs as long as syntax
highlighting is enabled. Both files must be copied to the vim runtime
directory in order for the file-type detection and syntax loading to work.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/1723044
2010-06-20 11:46:12 +02:00
Andrew Gerrand b524fdc2e2 godashboard: change behaviour of top button
R=gri
CC=golang-dev
https://golang.org/cl/1253046
2010-05-25 14:22:12 -07:00
Evan Shaw 1dabecec41 kate: convert isn't a built in function
I have no idea how that got in there.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/1240046
2010-05-23 14:33:44 -07:00
Andrew Gerrand d6b199ac99 dashboard: reintroduce Benchmark model
R=rsc
CC=golang-dev
https://golang.org/cl/1217046
2010-05-19 17:53:41 -07:00
Andrew Gerrand 249c49ed3c dashboard: fix benchmark json output
Fixes #722.

R=rsc
CC=golang-dev
https://golang.org/cl/1065041
2010-05-03 18:35:32 +10:00
Russ Cox 97576673bd gmp: fix bug in SetString
R=adg
CC=golang-dev
https://golang.org/cl/1004045
2010-05-01 13:10:01 -07:00
Russ Cox c6138efbcb runtime: closures, defer bug fix for Native Client
Enable package tests for Native Client build.

R=r
CC=golang-dev
https://golang.org/cl/957042
2010-04-22 17:52:22 -07:00
Andrew Gerrand 8df3121353 godashboard: remove obselete data models and conversion code
R=rsc
CC=golang-dev
https://golang.org/cl/919045
2010-04-20 10:20:15 +10:00
Andrew Gerrand 47c4416b7e godashboard: bz2 compress logs in data store
This results in a 10-20x size reduction per record.
(from ~150kb to ~10kb)

This revision has been pushed live, as I'm in the process of
converting Log records to bz2-compresed CompressedLog records.
I would have waited but we're running seriously low on space
and it seemed like a sane (and reversible) move.

R=rsc
CC=golang-dev
https://golang.org/cl/872048
2010-04-20 09:06:57 +10:00
Kai Backman 0b2e0265ae the android runner script
this is a version synthesized from rsc's, dean's and my
	versions. changes and updates:

	- embeds the retval script and pushes a new version to the
          device if needed
	- passes arguments correctly to the program on the device
	- export GOARCH, GOTRACEBACK and GOGC from the local
          environment to the device.
	- added times.out support to run-arm

	enabled a few tests that are now passing and moved the
	GOGC=off workaround to run-arm.

R=dpx
CC=golang-dev, rsc
https://golang.org/cl/880046
2010-04-16 13:06:45 +03:00
Ian Lance Taylor f833a8d392 A test case for cgo //export.
R=rsc
CC=golang-dev
https://golang.org/cl/881043
2010-04-09 13:31:26 -07:00
Andrew Gerrand 7678c5bfa1 godashboard: fix benchmarks page (first pass)
R=rsc
CC=golang-dev
https://golang.org/cl/844044
2010-04-05 07:34:27 +10:00
Evan Shaw 31693e9f14 kate: Update for recent language changes
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/849045
2010-03-31 19:50:27 -07:00
Andrew Gerrand c72f491ac2 godashboard: new stylesheet, build status pagination
R=rsc, gri, r
CC=golang-dev
https://golang.org/cl/822044
2010-03-31 17:01:16 +11:00
Anthony Starks 354679d910 misc/bbedit: support for cmplx, real, imag
R=rsc
CC=golang-dev
https://golang.org/cl/582041
2010-03-16 13:26:34 -07:00
David Symonds 72a3f5329d Add new complex types, functions and literals to Vim syntax file.
R=rsc
CC=golang-dev
https://golang.org/cl/224042
2010-03-15 20:38:24 -07:00
Andrew Gerrand 6129dbbee4 dashboard: include package.html
This was omitted from the original commit.

R=rsc
CC=golang-dev
https://golang.org/cl/554043
2010-03-16 09:05:09 +11:00
Russ Cox 3e4e4ec704 goinstall: an experiment in (external) package installation
R=adg, r
CC=cw, golang-dev
https://golang.org/cl/224043
2010-03-04 17:04:50 -08:00
Russ Cox c426427b89 dashboard: more performance tuning
various caching.  make benchmark data a list
in a single per-builder,benchmark record instead
of having one record for each data point.
significant reduction in datastore cpu charges.

R=agl1, agl
CC=golang-dev
https://golang.org/cl/217111
2010-02-25 10:26:43 -08:00
Anthony Starks b4bd4d926d misc/bbedit: treat predeclared identifiers as "keywords"
R=rsc
CC=golang-dev
https://golang.org/cl/218064
2010-02-23 13:50:46 -08:00
Russ Cox 666abfb64c dashboard: lots of caching to avoid datastore queries
reorganize benchmark computation so that it is
incremental.  if it times out, it doesn't lose the
pieces it already computed, so that next time it
has a fighting chance to finish.

R=agl1, agl
CC=golang-dev
https://golang.org/cl/216046
2010-02-19 08:20:59 -08:00
Russ Cox c7d37e41b2 dashboard: auto-update builder.sh.
avoid possibility of busy loop pounding on dashboard.

R=agl1
CC=golang-dev
https://golang.org/cl/206051
2010-02-09 13:45:38 -08:00
Russ Cox d5b946f43d dashboard: present benchmarks
* fix bug in benchmark collection: bad benchmark data key
    meant that all the builders collided when writing data.
  * report benchmarks even if make bench exits non-zero.
  * graphical and json presentations

R=agl1
CC=golang-dev
https://golang.org/cl/201065
2010-02-05 02:58:40 -08:00
Russ Cox 0141fd3b65 dashboard: avoid seeing cron's sh -c in ps check
R=agl1
CC=golang-dev
https://golang.org/cl/196091
2010-02-01 11:36:44 -08:00
Russ Cox 2e989df0fb dashboard: move key.py out of the way,
so that if you have a key.py with the real key,
there is no chance hg change will accidentally
make a CL with the real key and upload it to codereview.

R=agl1
CC=golang-dev
https://golang.org/cl/196051
2010-01-28 12:48:09 -08:00
Russ Cox 2ce13ba4b0 dashboard: builder tweaks
R=agl1
CC=golang-dev
https://golang.org/cl/194116
2010-01-27 15:42:37 -08:00
Russ Cox c40c974d33 dashboard: look for key in $GOROOT before $HOME
TBR=agl1
CC=golang-dev
https://golang.org/cl/195076
2010-01-27 13:27:10 -08:00
Russ Cox e0afb0c38b godashboard: fiddling
* some tweaks to dashboard html/css layout
  * use hmac to generate per-builder subkeys

R=agl1
CC=golang-dev
https://golang.org/cl/194092
2010-01-27 13:09:58 -08:00
Adam Langley 062fee0536 dashboard: add benchmarking support.
This has actually been running for a while and gathering benchmark
data. I haven't had a chance to add a UI for it yet however.

R=rsc
CC=golang-dev
https://golang.org/cl/194082
2010-01-26 12:56:29 -08:00
Kevin Ballard ea1a36efcd Fix minor issues with updating go-mode in an empty buffer
Sometimes during editing, when the buffer is emptied (for example,
  as part of a call to M-x gofmt), an error is raised when
  remove-text-properties is called. Ensure that these calls use point-max
  instead of buffer-size to determine their end point.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/189042
2010-01-13 13:32:19 +11:00
Evan Shaw 3daf133f35 kate: Highlighting improvements
* Highlight built in functions
* Add copy built in function
* Handle multi-line strings

R=rsc
CC=golang-dev
https://golang.org/cl/184059
2010-01-12 14:33:28 -08:00
Adam Langley d635d846f4 Add builder scripts.
These are the scripts behind godashboard.appspot.com. Nothing is
particularly beautiful about it, but it does run.

I still need to add support for per-builder keys and for running the
benchmarks.

R=rsc
CC=golang-dev
https://golang.org/cl/183153
2010-01-07 18:45:45 -08:00
Austin Clements 367ae9a541 Use remove-text-properties instead of
remove-list-of-test-properties, since the latter is missing
from XEmacs.

Fixes #462.

R=rsc
CC=golang-dev
https://golang.org/cl/181152
2010-01-06 15:45:43 -08:00
Austin Clements 6712cf365b Update Emacs go-mode for new semicolon rule.
Fixes #415.

R=rsc
CC=golang-dev
https://golang.org/cl/183104
2010-01-05 16:50:36 -08:00
Robert Griesemer bcabc99a92 More Xcode support.
Recognize special comments starting
with TODO or BUG.

R=r
CC=golang-dev
https://golang.org/cl/183095
2009-12-30 15:30:57 -08:00
Ken Friedenbach c7e2970ba8 Improved Xcode support
Added definition for raw string.
Added definitions for function and method declarations.
Enabled function, method, and type declarations to appear in Editor pop up menu.
Fixes #466.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/183065
2009-12-29 14:43:54 -08:00
Robert Griesemer 5a1d3323fe 1) Change default gofmt default settings for
parsing and printing to new syntax.

                  Use -oldparser to parse the old syntax,
                  use -oldprinter to print the old syntax.

               2) Change default gofmt formatting settings
                  to use tabs for indentation only and to use
                  spaces for alignment. This will make the code
                  alignment insensitive to an editor's tabwidth.

                  Use -spaces=false to use tabs for alignment.

               3) Manually changed src/exp/parser/parser_test.go
                  so that it doesn't try to parse the parser's
                  source files using the old syntax (they have
                  new syntax now).

               4) gofmt -w src misc test/bench

	       1st set of files.

R=rsc
CC=agl, golang-dev, iant, ken2, r
https://golang.org/cl/180047
2009-12-15 15:33:31 -08:00
Devon H. O'Dell 857d4cf1a9 Remove GOBIN in PATH dependency; don't assume cwd is $GOROOT/src
This change removes the necessity to have GOBIN in $PATH,
and also doesn't assume that the build is being run from
$GOROOT/src. This is a minimal set of necessary changes
to get Go to build happily from the FreeBSD ports
collection.

R=rsc
CC=golang-dev
https://golang.org/cl/171044
2009-12-11 15:14:09 -08:00
Russ Cox 0714fbb6ae misc/bash: completion file for bash
suggested by Alex Ray <ajray@ncsu.edu>

R=gri
CC=golang-dev
https://golang.org/cl/174063
2009-12-11 13:54:00 -08:00
David Symonds 42ec02be36 Add 'copy' as a Go builtin function for Vim syntax highlighter spec.
R=rsc
https://golang.org/cl/163049
2009-12-01 16:45:21 -08:00
Anthony Starks 593ea31361 Syntax coloring and function navigation for BBEdit/TextWrangler
R=rsc
CC=agl1
https://golang.org/cl/154123
2009-11-30 19:24:32 -08:00
Austin Clements 6e6125ffa4 Make comment-start/-end changes buffer-local instead of global.
Fixes #290.

R=rsc
https://golang.org/cl/160070
2009-11-29 14:22:07 -08:00
Sergio Luis O. B. Correia 6fc820729e go: makes it build for the case $GOROOT has whitespaces
the bash scripts and makefiles for building go didn't take into account
the fact $GOROOT / $GOBIN could both be directories containing whitespaces,
and was not possible to build it in such a situation.

this commit adjusts the various makefiles/scripts to make it aware of that
possibility, and now it builds successfully when using a path with whitespaces
as well.

Fixes #115.

R=rsc, dsymonds1
https://golang.org/cl/157067
2009-11-23 17:32:51 -08:00
Devon H. O'Dell 60b1a17b9e More FreeBSD-touchups. Thundercats are GOOOOO!
R=rsc
CC=golang-dev
https://golang.org/cl/157074
2009-11-18 16:51:59 -08:00
Russ Cox 43bcf47912 make all.bash finish on FreeBSD
R=dho
CC=golang-dev
https://golang.org/cl/156067
2009-11-18 09:11:17 -08:00
Evan Shaw a269cdae8d Added Kate syntax highlighting file.
R=rsc
https://golang.org/cl/155075
2009-11-17 23:34:08 -08:00
Devon H. O'Dell 0489a260da FreeBSD-specific porting work.
cgo/libmach remain unimplemented. However, compilers, runtime,
and packages are 100%. I still need to go through and implement
missing syscalls (at least make sure they're all listed), but
for all shipped functionality, this is done. Ship! ;)

R=rsc, VenkateshSrinivas
https://golang.org/cl/152142
2009-11-17 08:20:58 -08:00
James Aguilar 95be81da4d Correct indentation for go-mode where a close brace following a semi-
colon-less statement would be indented one stop too many.

R=rsc, aclements
CC=aclements
https://golang.org/cl/154096
2009-11-13 15:52:30 -08:00
Kevin Ballard 6c2ae1a625 Teach emacs M-x gofmt to save region/restrictions
R=agl, agl1
https://golang.org/cl/152078
2009-11-12 18:40:42 -08:00
Kevin Ballard c57054f7b4 Implement new emacs command M-x gofmt
Define a new interactive function in go-mode.el called gofmt.
This function passes the current buffer through the external `gofmt`
tool and replaces the buffer with the result.

R=agl, rsc
https://golang.org/cl/154044
2009-11-10 20:05:24 -08:00
Kevin Ballard 022e3ae265 Fix go-mode.el to work on empty buffers
Fixes #8.

R=agl, agl1, rsc
https://golang.org/cl/153056
2009-11-10 20:04:14 -08:00
Robert Griesemer 1698934194 - replaced gofmt expression formatting algorithm with
rsc's algorithm
- applied gofmt -w misc src
- partial CL (remaining files in other CLs)

R=rsc, r
http://go/go-review/1024040
2009-11-09 21:09:34 -08:00
Robert Griesemer 40621d5c0d remove semis after statements in one-statement statement lists
R=rsc, r
http://go/go-review/1025029
2009-11-09 12:07:39 -08:00
Robert Griesemer c1bbc4ae2b - one-line funcs in misc
gofmt -w misc

R=rsc
http://go/go-review/1025007
2009-11-06 14:27:41 -08:00
Robert Griesemer a074e37489 gofmt -w misc
R=rsc
http://go/go-review/1025004
2009-11-05 23:18:06 -08:00
Austin Clements 5bd8c92427 go-mode for Emacs. This provides basic syntax highlighting
for keywords, built-ins, functions, and some types.  It also
provides indentation that is (almost) identical to gofmt.

R=rsc
APPROVED=rsc
DELTA=509  (509 added, 0 deleted, 0 changed)
OCL=35951
CL=35994
2009-10-22 08:54:26 -07:00
Adam Langley f554ef7816 Minor fixes and additions to the GMP wrapping.
R=rsc
APPROVED=rsc
DELTA=12  (11 added, 0 deleted, 1 changed)
OCL=35715
CL=35715
2009-10-14 10:56:19 -07:00
Russ Cox 2d72b39fd3 add cgo test that doesn't depend on
non-standard libraries and add to build.

R=r
DELTA=211  (210 added, 0 deleted, 1 changed)
OCL=35293
CL=35307
2009-10-03 11:33:51 -07:00
Russ Cox 133a158bd8 8c, 8l dynamic loading support.
better mach binaries.
cgo working on darwin+linux amd64+386.
eliminated context switches - pi is 30x faster.
add libcgo to build.

on snow leopard:
  - non-cgo binaries work; all tests pass.
  - cgo binaries work on amd64 but not 386.

R=r
DELTA=2031  (1316 added, 626 deleted, 89 changed)
OCL=35264
CL=35304
2009-10-03 10:37:12 -07:00
Russ Cox e67a5084b8 cgo working on linux/386
R=r
DELTA=70  (47 added, 4 deleted, 19 changed)
OCL=35167
CL=35171
2009-09-30 13:47:15 -07:00
Russ Cox cce01111a9 cgo: works on amd64.
integrated into Makefiles (see misc/cgo/gmp/Makefile).

R=r
DELTA=1110  (540 added, 525 deleted, 45 changed)
OCL=35153
CL=35158
2009-09-30 11:51:08 -07:00
David Symonds 0ba28329e4 Add a Vim syntax highlighting file for Go.
APPROVED=rsc
DELTA=190  (190 added, 0 deleted, 0 changed)
OCL=35073
CL=35128
2009-09-29 18:43:20 -07:00
Robert Griesemer e6cddeaee8 xcode config files, self-describing
R=r
DELTA=250  (250 added, 0 deleted, 0 changed)
OCL=29120
CL=29127
2009-05-20 16:09:34 -07:00