aboutsummaryrefslogtreecommitdiff
path: root/libgo
AgeCommit message (Collapse)AuthorFilesLines
2017-12-16os: pass -s to hostname on AIXIan Lance Taylor1-3/+9
Reviewed-on: https://go-review.googlesource.com/79375 From-SVN: r255738
2017-12-16syscall: emulate Flock on AIXIan Lance Taylor1-0/+22
Reviewed-on: https://go-review.googlesource.com/79095 From-SVN: r255737
2017-12-06libgo: remove -fplan9-extensions from CFLAGSIan Lance Taylor2-2/+2
Remove -fplan9-extensions from the CFLAGS used for libgo (no longer needed since the runtime was converted from C to Go). Reviewed-on: https://go-review.googlesource.com/82177 From-SVN: r255445
2017-12-02runtime: export cgoCheck functionsIan Lance Taylor1-0/+4
The functions cgoCheckPointer and cgoCheckResult are called by code generated by cgo. That means that we need to export them using go:linkname, as otherwise they are local symbols. The cgo code currently uses weak references to only call the symbols if they are defined, which is why it has been working--the cgo code has not been doing any checks. Reviewed-on: https://go-review.googlesource.com/80295 From-SVN: r255347
2017-11-23cmd/go, go/internal/gccgoimporter: pass -X to ar on AIXIan Lance Taylor2-3/+12
Reviewed-on: https://go-review.googlesource.com/72930 From-SVN: r255090
2017-11-22libgo: don't use grep -q in mksigtab.shIan Lance Taylor1-1/+1
Solaris grep does not support the -q option. Reviewed-on: https://go-review.googlesource.com/79239 From-SVN: r255042
2017-11-21libgo: fix makefile bugletIan Lance Taylor2-2/+2
Fix a small bug in the libgo Makefile recipe that constructs the directory from which to pick up libgcc_s.so ; the gccgo invocation with -print-libgcc-file-name was missing the flags, which meant that for -m32 builds we'd see the 64-bit libgcc dir. Reviewed-on: https://go-review.googlesource.com/78836 From-SVN: r254984
2017-11-14Adapt Solaris 12 referencesRainer Orth1-2/+2
libgcc: * config.host (*-*-solaris2*): Adapt comment for Solaris 12 renaming. * config/sol2/crtpg.c (__start_crt_compiler): Likewise. * configure.ac (libgcc_cv_solaris_crts): Likewise. * configure: Regenerate. gcc: * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since Solaris 11. Update comment. * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 renaming. * config/sol2.h (STARTFILE_SPEC): Likewise. * configure: Regenerate. gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Adapt comment for Solaris 12 renaming. * gcc.dg/torture/pr60092.c: Remove *-*-solaris2.11* dg-xfail-run-if. From-SVN: r254737
2017-11-14libgo: adapt Solaris 12 referencesIan Lance Taylor5-11/+11
With the change in the Solaris release model (no more major releases like Solaris 12 but only minor ones like 11.4), the Solaris 12 references in GCC need to be adapted. Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/77490 From-SVN: r254729
2017-11-09sync/atomic, runtime/internal/atomic: don't assume reads from 0 failIan Lance Taylor4-13/+16
For a misaligned address force a panic rather than assuming that reading from the address 0 will cause one. Reviewed-on: https://go-review.googlesource.com/69850 From-SVN: r254610
2017-11-06libgo: pass flags to recursive makeIan Lance Taylor2-4/+4
"make check" runs make recursively to check each package. Pass the flags through. So it is possible to run "make check" with different settings easily. Reviewed-on: https://go-review.googlesource.com/76029 From-SVN: r254475
2017-10-20debug/dwarf: support 64-bit DWARF in byte order checkIan Lance Taylor5-16/+87
Also fix 64-bit DWARF to read a 64-bit abbrev offset in the compilation unit. This is a backport of https://golang.org/cl/71171, which will be in the Go 1.10 release, to the gofrontend copy. Doing it now because AIX is pretty much the only system that uses 64-bit DWARF. Reviewed-on: https://go-review.googlesource.com/72250 From-SVN: r253955
2017-10-11runtime: fix issues on AIX about uintptr(_t)Ian Lance Taylor2-2/+2
Reviewed-on: https://go-review.googlesource.com/69891 From-SVN: r253664
2017-09-29debug/elf: support 32-bit SPARC relocsIan Lance Taylor1-0/+42
Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/67111 From-SVN: r253292
2017-09-29mksysinfo: strip locale structsIan Lance Taylor2-0/+2
We don't need them, and this fixes the build when using uClibc-ng 1.0.26 as originally reported at https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01930.html Reviewed-on: https://go-review.googlesource.com/67110 From-SVN: r253291
2017-09-27net: check Getsockname error returnIan Lance Taylor1-2/+8
Reviewed-on: https://go-review.googlesource.com/64550 From-SVN: r253231
2017-09-22debug/xcoff,cmd: add XCOFF supportIan Lance Taylor18-21/+1112
Reviewed-on: https://go-review.googlesource.com/64592 From-SVN: r253105
2017-09-20libgo: fix build when using -enable-static=noIan Lance Taylor2-2/+26
With -enable-static=no we don't build non-pic objects, but libgotool.a is built from non-pic objects. Build the packages that go into libgotool.a in static mode in all cases. Also ensure that internal test packages are built, since nothing explicitly depended on them. Reviewed-on: https://go-review.googlesource.com/65050 From-SVN: r253042
2017-09-20syscall: enable ParseDirent for AIXIan Lance Taylor3-1/+21
Reviewed-on: https://go-review.googlesource.com/64990 From-SVN: r253022
2017-09-20syscall: workaround for getsockname bug in AIXIan Lance Taylor4-1/+188
Reviewed-on: https://go-review.googlesource.com/64552 From-SVN: r253021
2017-09-20internal,net,os,runtime,syscall: fixes for AIX following update to go1.9Ian Lance Taylor16-19/+154
Reviewed-on: https://go-review.googlesource.com/64551 From-SVN: r253016
2017-09-20runtime: restore "goroutine in C code" messageIan Lance Taylor2-1/+2
In the 1.9 upgrade I took out the word "goroutine" from a traceback showing a goroutine running in C code, to let TestCgoNumGoroutine pass. However, it turns out that some code is actually checking for that string; for example, https://github.com/grpc/grpc-go/blob/master/test/leakcheck/leakcheck.go#L44 So keep the message the same, and change the test. Reviewed-on: https://go-review.googlesource.com/64850 From-SVN: r252991
2017-09-18runtime: always initialize str field in __go_string_slice resultIan Lance Taylor1-4/+7
Reviewed-on: https://go-review.googlesource.com/64110 From-SVN: r252953
2017-09-15syscall: fixes for SolarisIan Lance Taylor3-2/+14
Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/64170 From-SVN: r252866
2017-09-14libgo: update to go1.9Ian Lance Taylor980-20310/+56791
Reviewed-on: https://go-review.googlesource.com/63753 From-SVN: r252767
2017-09-14compiler, runtime: simplify select and channel operationsIan Lance Taylor3-108/+78
In preparation for upgrading libgo to the 1.9 release, this approximately incorporates https://golang.org/cl/37661 and https://golang.org/cl/38351. CL 37661 changed the gc compiler such that the select statement simply returns an integer which is then used as the argument for a switch. Since gccgo already worked that way, this just adjusts the switch code to look like the gc switch code by removing the explicit case index expression and calculating it from the order of calls to selectsend, selectrecv, and selectdefault. CL 38351 simplifies the channel code by not passing the unused channel type descriptor pointer. Reviewed-on: https://go-review.googlesource.com/62730 From-SVN: r252749
2017-09-14compiler, reflect: fix struct field names for embedded aliasesIan Lance Taylor3-93/+89
This adds much of https://golang.org/cl/35731 and https://golang.org/cl/35732 to the gofrontend code. This is a step toward updating libgo to the 1.9 release. The gofrontend already supports type aliases, and this is required for correct support of type aliases when used as embedded fields. The change to expressions.cc is to handle the << 1, used for the newly renamed offsetAnon field, in the constant context used for type descriptor initialization. Reviewed-on: https://go-review.googlesource.com/62710 From-SVN: r252746
2017-08-31mksysinfo: fix in6_addr in mld_hdr_t for SolarisIan Lance Taylor2-0/+8
Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/60732 From-SVN: r251574
2017-08-29net/internal/socktest: build sys_unix.go on AIXIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/59913 From-SVN: r251440
2017-08-29libgo: netinet/icmp6.h require netinet/in.h on AIXIan Lance Taylor2-2/+21
Reviewed-on: https://go-review.googlesource.com/59912 From-SVN: r251439
2017-08-29libgo: fix Stat_t on AIXIan Lance Taylor1-0/+1
Reviewed-on: https://go-review.googlesource.com/59911 From-SVN: r251436
2017-08-29runtime: make go-nosys.c compile with !HAVE_SYSCALLIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/59910 From-SVN: r251435
2017-08-29runtime: fix lfstack for 64-bit AIXIan Lance Taylor1-0/+18
Reviewed-on: https://go-review.googlesource.com/57550 From-SVN: r251420
2017-08-18re PR go/81893 (compilation error in libgo starting with r251127)Ian Lance Taylor1-1/+4
PR go/81893 runtime: only use PPC GNU/Linux register code on little endian Reportedly the current code builds on little endian but not big endian. Fixes https://gcc.gnu.org/PR81893. Reviewed-on: https://go-review.googlesource.com/57110 From-SVN: r251188
2017-08-18misc/cgo/test: make cgo tests run on AIXIan Lance Taylor2-1/+3
Reviewed-on: https://go-review.googlesource.com/56910 From-SVN: r251182
2017-08-18cmd/go: pass -funwind-tables when compiling C codeIan Lance Taylor1-0/+6
Using -funwind-tables is necessary to permit Go code to correctly throw a panic through C code. This hasn't been necessary in the past as -funwind-tables is the default on x86. However, it is not the default for PPC AIX. Reviewed-on: https://go-review.googlesource.com/56650 From-SVN: r251179
2017-08-16runtime: better implementation of netpoll for AIXIan Lance Taylor1-65/+96
Reviewed-on: https://go-review.googlesource.com/54170 From-SVN: r251133
2017-08-16runtime: improvements for signal registersIan Lance Taylor1-13/+49
Fix dumpregs on i386, implement dumpregs for PPC Linux/AIX, get PC on AIX. Reviewed-on: https://go-review.googlesource.com/56170 From-SVN: r251127
2017-08-09compiler: handle >32bit exponent in LdexpIan Lance Taylor1-2/+7
Libgo's implementation of math.Ldexp declared the libc "ldexp" as taking an 'int' exponent argument, which is not quite right for 64-bit platforms (exp arg is always int32); this could yield incorrect results for exponent values outside the range of Minint32/Maxint32. Fix by upating the type for the libc version of ldexp, and adding guards to screen for out-of-range exponents. Fixes #21323. Reviewed-on: https://go-review.googlesource.com/54250 From-SVN: r250992
2017-08-04runtime: dump registers for AlphaIan Lance Taylor1-0/+41
Patch from Uros Bizjak. Reviewed-on: https://go-review.googlesource.com/53350 From-SVN: r250873
2017-08-03re PR go/81617 (mksigtab.sh fails to resolve NSIG with glibc 2.26)Ian Lance Taylor1-0/+13
PR go/81617 libgo: change mksigtab to recognize glibc 2.26 NSIG expression Fixes golang/go#21147 Fixes GCC PR 81617 Reviewed-on: https://go-review.googlesource.com/52611 From-SVN: r250858
2017-07-26runtime: handle Alpha GNU/Linux in getSiginfoIan Lance Taylor1-0/+5
Patch by Uros Bizjak. Reviewed-on: https://go-review.googlesource.com/51370 From-SVN: r250588
2017-07-21syscall: call f?statfs64 on GNU/LinuxIan Lance Taylor1-2/+2
We unconditionally set _FILE_OFFSET_BITS to 64 in configure.ac, so we should unconditionally call the statfs64 and fstatfs64 functions. These functions should be available on all versions of GNU/Linux since 2.6. On 64-bit systems they are aliased to statfs/fstatfs, and on 32-bit systems they use the 64-bit data structures. Fixes golang/go#20922 Reviewed-on: https://go-review.googlesource.com/50635 From-SVN: r250443
2017-07-21runtime: don't use runtime_lock in __go_get_backtrace_stateIan Lance Taylor1-3/+11
If getSiginfo does not know how to determine the PC, it will call runtime_callers. That can happen in a thread that was started by non-Go code, in which case the TLS variable g will not be set, in which case runtime_lock will crash. Avoid the problem by using atomic operations for the lock. This is OK since creating a backtrace state is fast and never blocks. The test case is TestCgoExternalThreadSIGPROF in the runtime package on a system that getSiginfo doesn't handle specially. Updates golang/go#20931 Reviewed-on: https://go-review.googlesource.com/50650 From-SVN: r250439
2017-07-21runtime: handle PPC/PPC64 GNU/Linux in getSiginfoIan Lance Taylor1-0/+5
Updates golang/go#20931 Reviewed-on: https://go-review.googlesource.com/50631 From-SVN: r250436
2017-07-21runtime: allocate more stack space in CgoCallbackGC testIan Lance Taylor1-1/+3
Allocate enough stack space so that the test will work on a system that does not support split stacks. This test is actually not very meaningful for gccgo at present, but it doesn't hurt to keep running it. Updates golang/go#20931 Reviewed-on: https://go-review.googlesource.com/50630 From-SVN: r250433
2017-07-18re PR go/81451 (missing futex check - libgo/runtime/thread-linux.c:12:0 ↵Ian Lance Taylor9-89/+19
futex.h:13:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘long’) PR go/81451 runtime: inline runtime_osinit We had two identical copies of runtime_osinit. They set runtime_ncpu, a variable that is no longer used. Removing that leaves us with two lines. Inline those two lines in the two places the function was called. This fixes GCC PR 81451. Reviewed-on: https://go-review.googlesource.com/48862 From-SVN: r250326
2017-07-18re PR go/81324 (libgo does not build with glibc 2.18)Ian Lance Taylor1-0/+4
PR go/81324 sysinfo.c: ignore ptrace_peeksiginfo_args from <linux/ptrace.h> With some versions of glibc and GNU/Linux ptrace_pseeksiginfo_args is defined in both <sys/ptrace.h> and <linux/ptrace.h>. We don't actually care about the struct, so use a #define to avoid a redefinition error. This fixes https://gcc.gnu.org/PR81324. Reviewed-on: https://go-review.googlesource.com/49290 From-SVN: r250324
2017-07-14libgo: don't copy semt into runtime.incIan Lance Taylor3-3/+7
https://gcc.gnu.org/PR81449 reports a problem with the definition semt in runtime.inc on some systems. Since the C code in libgo/runtime doesn't need semt, just don't copy it into runtime.inc. Reviewed-on: https://go-review.googlesource.com/48593 From-SVN: r250217
2017-07-14cmd/go: use gccSupportsFlag for -fsplit-stackIan Lance Taylor1-4/+2
Don't assume that all (or only) 386/amd64 compilers support -fsplit-stack. Reviewed-on: https://go-review.googlesource.com/48592 From-SVN: r250216