- 23 Jan, 2015 3 commits
-
-
PR go/64573 syscall: Restore line somehow lost in libgo merge. From-SVN: r220068
Ian Lance Taylor committed -
re PR go/64725 (FAIL: libgo/runtime TestFinalizerType testing.go:278: #2: finalizer for type func(*int) didn't run) PR go/64725 runtime: Disable tests that require that a finalizer run. From-SVN: r220067
Ian Lance Taylor committed -
PR go/64595 runtime: Don't crash in runtime_callers if no debug info available. From-SVN: r220057
Ian Lance Taylor committed
-
- 21 Jan, 2015 1 commit
-
-
From-SVN: r219976
Ian Lance Taylor committed
-
- 20 Jan, 2015 2 commits
-
-
PR go/64683 runtime/pprof: Let memory profiler test pass if value not collected. Since gccgo's GC is not precise, the transient value may not be collected. Let the regexp match that case as well. From-SVN: r219900
Ian Lance Taylor committed -
All supported libgo 386 targets now have complex support in libffi. From Uros Bizjak. From-SVN: r219877
Ian Lance Taylor committed
-
- 19 Jan, 2015 2 commits
-
-
From-SVN: r219862
Richard Henderson committed -
From-SVN: r219831
Ian Lance Taylor committed
-
- 16 Jan, 2015 5 commits
-
-
The glibc setcontext incorrectly modifies %g7 on SPARC. From Richard Henderson. From-SVN: r219778
Ian Lance Taylor committed -
No longer needed now that libffi supports complex types. From-SVN: r219777
Ian Lance Taylor committed -
Change from using __go_set_closure to passing the closure value in the static chain field. Uses new backend support for setting the closure chain in a call from C via __builtin_call_with_static_chain. Uses new support in libffi for Go closures. The old architecture specific support for reflect.MakeFunc is removed, replaced by the libffi support. All work done by Richard Henderson. * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument. (Gcc_backend::static_chain_variable): New method. From-SVN: r219776
Richard Henderson committed -
The version from the master repository seems to be appropriate for OpenSolaris but not for Solaris itself. Solaris 11.2 proper does not define TCP_KEEPIDLE or TCP_KEEPINTVL. From-SVN: r219749
Ian Lance Taylor committed -
A recent libffi upgrade caused the reflect test to fail on 386. The problem case is a function that returns an empty struct--a struct with no fields. The libffi library does not recognize the existence of empty structs, presumably since they can't happen in C. To work around this, the Go interface to the libffi library changes an empty struct to void. This normally works fine, but with the new libffi upgrade it fails for a function that returns an empty struct. On 386 a function that returns a struct is expected to pop the hidden pointer when it returns. So when we convert an empty struct to void, libffi is calling a function that pops the hidden pointer but does not expect that to happen. In the older version of libffi, this didn't matter, because the libffi code for 386 used a frame pointer, so the fact that the stack pointer was wonky when the function returned was ignored as the stack pointer was immediately replaced by the saved frame pointer. In the newer version of libffi, the 386 code is more efficient and does not use a frame pointer, and therefore it matters whether libffi expects the function to pop the hidden pointer or not. This patch changes libgo to convert an empty to a struct with a single field of type void. This seems to be enough to get the test cases working again. Of course the real fix would be to change libffi to handle empty types, but as libffi uses size == 0 as a marker for an uninitialized type, that would be a non-trivial change. From-SVN: r219701
Ian Lance Taylor committed
-
- 15 Jan, 2015 5 commits
-
-
From Uros Bizjak. From-SVN: r219691
Ian Lance Taylor committed -
From-SVN: r219685
Ian Lance Taylor committed -
From-SVN: r219629
Ian Lance Taylor committed -
From-SVN: r219628
Ian Lance Taylor committed -
This upgrades all of libgo other than the runtime package to the Go 1.4 release. In Go 1.4 much of the runtime was rewritten into Go. Merging that code will take more time and will not change the API, so I'm putting it off for now. There are a few runtime changes anyhow, to accomodate other packages that rely on minor modifications to the runtime support. The compiler changes slightly to add a one-bit flag to each type descriptor kind that is stored directly in an interface, which for gccgo is currently only pointer types. Another one-bit flag (gcprog) is reserved because it is used by the gc compiler, but gccgo does not currently use it. There is another error check in the compiler since I ran across it during testing. gotools/: * Makefile.am (go_cmd_go_files): Sort entries. Add generate.go. * Makefile.in: Rebuild. From-SVN: r219627
Ian Lance Taylor committed
-
- 10 Jan, 2015 1 commit
-
-
From-SVN: r219419
Ian Lance Taylor committed
-
- 09 Jan, 2015 1 commit
-
-
From-SVN: r219406
Ian Lance Taylor committed
-
- 08 Jan, 2015 1 commit
-
-
Don't look it up on PATH. This lets a go tool built as part of a GCC build use the gccgo from the same build. Also pass -c when assembling a .s file with gccgo. From-SVN: r219358
Ian Lance Taylor committed
-
- 06 Jan, 2015 1 commit
-
-
The new commands are not yet built. That will be done separately. Also include a few changes to go/build to support them. From-SVN: r219272
Ian Lance Taylor committed
-
- 05 Jan, 2015 1 commit
-
-
PR go/61871 runtime: Increase stack size on 64-bit non-split-stack systems. From Uros Bizjak. From-SVN: r219192
Ian Lance Taylor committed
-
- 23 Dec, 2014 1 commit
-
-
From-SVN: r219049
Ian Lance Taylor committed
-
- 17 Dec, 2014 1 commit
-
-
From Uros Bizjak. https://gcc.gnu.org/ml/gcc-patches/2014-12/msg01366.html From-SVN: r218819
Ian Lance Taylor committed
-
- 13 Dec, 2014 3 commits
-
-
PR go/61258 runtime: Don't crash when deleting zero-sized key. From-SVN: r218702
Ian Lance Taylor committed -
This patches in the Go 1.4 function, for convenience for people using the Go 1.4 go tool with mainline gccgo. From-SVN: r218700
Ian Lance Taylor committed -
Fix an unusual C to Go callback case. Newly created C threads call into Go code, forcing the Go code to allocate new M and G structures. While executing Go code, the stack is split. The Go code then returns. Returning from a Go callback is treated as entering a system call, so the G gcstack field is set to point to the Go stack. In this case, though, we were called from a newly created C thread, so we drop the extra M and G structures. The C thread then exits. Then a new C thread calls into Go code, reusing the previously created M and G. The Go code requires a larger stack frame, causing the old stack segment to be unmapped and a new stack segment allocated. At this point the gcstack field is pointing to the old stack segment. Then a garbage collection occurs. The garbage collector sees that the gcstack field is not nil, so it scans it as the first stack segment. Unfortunately it points to memory that was unmapped. So the program crashes. The fix is simple: when handling extra G structures created for callbacks from new C threads, clear the gcstack field. From-SVN: r218699
Ian Lance Taylor committed
-
- 12 Dec, 2014 1 commit
-
-
* testsuite/lib/libatomic.exp: Load target-utils.exp * testsuite/lib/libitm.exp: Load target-utils.exp. Move load of target-supports.exp earlier. * testsuite/lib/libvtv.exp: Load target-utils.exp From-SVN: r218664
Kyrylo Tkachov committed
-
- 01 Dec, 2014 1 commit
-
-
This goes towards making libgo more self-contained. From-SVN: r218198
Ian Lance Taylor committed
-
- 21 Nov, 2014 1 commit
-
-
ppc64 for BE ppc64le for LE issue 8654 From-SVN: r217941
Ian Lance Taylor committed
-
- 14 Nov, 2014 1 commit
-
-
Different compilers may have different release cadences or ABI incompatibilities, so it does not make sense to use the same library name for runtime libraries intended for different compilers. This CL causes a libgo built by llgo to receive the name libgo-llgo. Likewise, libgobegin is named libgobegin-llgo. From-SVN: r217583
Ian Lance Taylor committed
-
- 12 Nov, 2014 1 commit
-
-
From-SVN: r217404
Ian Lance Taylor committed
-
- 06 Nov, 2014 2 commits
-
-
2014-11-05 Dominik Vogt <vogt@linux.vnet.ibm.com> * libgo/runtime/runtime.c (runtime_cputicks): s390: use stckf unconditionally From-SVN: r217195
Dominik Vogt committed -
2014-11-06 Dominik Vogt <vogt@linux.vnet.ibm.com> * libgo/mksysinfo.sh: Tolerate missing structures. From-SVN: r217194
Dominik Vogt committed
-
- 05 Nov, 2014 1 commit
-
-
Backport https://codereview.appspot.com/111320044 from Go master library. From-SVN: r217110
Ian Lance Taylor committed
-
- 04 Nov, 2014 1 commit
-
-
From Dominik Vogt. * libgo/go/syscall/libcall_linux_s390.go: New file for s390 support. * libgo/go/syscall/syscall_linux_s390.go: Ditto. * libgo/go/syscall/libcall_linux_s390x.go: New file for s390x support. * libgo/go/syscall/syscall_linux_s390x.go: Ditto. * libgo/go/runtime/pprof/pprof.go (printStackRecord): Support s390 and s390x. * libgo/runtime/runtime.c (runtime_cputicks): Add support for s390 and s390x * libgo/mksysinfo.sh: Ditto. (upcase_fields): New helper function * libgo/go/debug/elf/file.go (applyRelocations): Implement relocations on s390x. (applyRelocationsS390x): Ditto. (DWARF): Ditto. * libgo/go/debug/elf/elf.go (R_390): New constants for S390 relocations. (r390Strings): Ditto. (String): Helper function for S390 relocations. (GoString): Ditto. * libgo/go/reflect/makefuncgo_s390.go: New file. (S390MakeFuncStubGo): Implementation of s390 abi. * libgo/go/reflect/makefuncgo_s390x.go: New file. (S390xMakeFuncStubGo): Implementation of s390x abi. * libgo/go/reflect/makefunc_s390.c: New file. (makeFuncStub): s390 and s390x specific implementation of function. * libgo/go/reflect/makefunc.go (MakeFunc): Add support for s390 and s390x. (makeMethodValue): Ditto. (makeValueMethod): Ditto. * libgo/Makefile.am (go_reflect_makefunc_s_file): Ditto. (go_reflect_makefunc_file): Ditto. * libgo/go/reflect/makefunc_dummy.c: Ditto. * libgo/runtime/runtime.h (__go_makefunc_can_recover): Export prototype for use in makefunc_s390.c. (__go_makefunc_returning): Ditto. * libgo/go/syscall/exec_linux.go (forkAndExecInChild): Fix order of the arguments of the clone system call for s390[x]. * libgo/configure.ac (is_s390): New variable. (is_s390x): Ditto (LIBGO_IS_S390): Ditto. (LIBGO_IS_S390X): Ditto. (GOARCH): Support s390 and s390x. * libgo/go/go/build/build.go (cgoEnabled): Ditto. * libgo/go/go/build/syslist.go (goarchList): Ditto. From-SVN: r217106
Ian Lance Taylor committed
-
- 03 Nov, 2014 1 commit
-
-
From-SVN: r217049
Ian Lance Taylor committed
-
- 28 Oct, 2014 2 commits
-
-
Backport of https://codereview.appspot.com/125910043 from the dev.power64 branch of the master repository. From-SVN: r216813
Ian Lance Taylor committed -
TIOCSWINSZ_val, TCGETS_val, TCSETS_val From-SVN: r216807
Ian Lance Taylor committed
-