aboutsummaryrefslogtreecommitdiff
path: root/libgo
AgeCommit message (Collapse)AuthorFilesLines
2022-04-20runtime: use correct field name for PPC32 GLIBC registersIan Lance Taylor1-12/+23
One of these days we will get this right. Fixes PR go/105315 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/401374
2022-04-19libgo: make a couple of sed uses POSIX compliantIan Lance Taylor3-3/+3
Patch from Jonathan Wakely. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/401054
2022-04-18libgo: only add signum to siglist if it doesn't exist yetSören Tempel1-2/+6
This fixes a build issue on musl libc where the same signal number is used for SIGIO and SIGPOLL. This causes a compilation error since the signal numbers must be unique for the signal table. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/400595
2022-04-18runtime: add special handling for signal 34A. Wilcox2-2/+5
The musl libc uses signal 34 internally for setgid (similar to how glibc uses signal 32 and signal 33). For this reason, special handling is needed for this signal in the runtime. The gc implementation already handles the signal accordingly. As such, this commit intends to simply copy the behavior of the Google Go implementation to libgo. See https://go.dev/issues/39343 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/400594
2022-04-15compiler: revert `for package-scope "a = b; b = x" just set "a = x"`Ian Lance Taylor2-6/+8
Revert CL 245098. It caused incorrect initialization ordering. Adjust the runtime package to work even with the CL reverted. Original description of CL 245098: This avoids requiring an init function to initialize the variable. This can only be done if x is a static initializer. The go1.15rc1 runtime package relies on this optimization. The package has a variable "var maxSearchAddr = maxOffAddr". The maxSearchAddr variable is used by code that runs before package initialization is complete. For golang/go#51913 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/395994
2022-04-14runtime: use regset indexes for PPC register valuesIan Lance Taylor1-15/+10
Using names depended on <asm/ptrace.h>, which glibc includes somewhere but musl did not. Change to just always use indexes. Based on patch by Sören Tempel. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/400214
2022-03-31runtime: support PPC32 MUSL register accessIan Lance Taylor1-0/+18
Based on patch by Sören Tempel. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/397394
2022-03-16libgo: update to final Go 1.18 releaseIan Lance Taylor91-603/+1982
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/393377
2022-03-04mkruntimeinc: skip _FILEIan Lance Taylor1-1/+2
We don't need it, and it breaks uclibc. PR go/101246 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/390021
2022-03-04libgo: move golang.org/x/sync/semaphore to gotool packagesClément Chigot2-1/+1
golang/x/sync/semaphore is required by gofmt.go. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/388634
2022-03-04libgo: fix AIX build for the Go1.18 updateClément Chigot4-4/+2
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/388635
2022-02-22libgo: update README.gccIan Lance Taylor1-4/+3
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/387514
2022-02-21runtime/internal/syscall: build dummy package if not LinuxIan Lance Taylor1-0/+7
Fixes libgo build on non-Linux systems. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/387134
2022-02-18libgo: update Hurd supportIan Lance Taylor8-9/+297
Patches from Svante Signell for PR go/104290. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/386797
2022-02-18libgo: update to Go1.18rc1 releaseIan Lance Taylor187-2975/+3699
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/386594
2022-02-17net: add hurd build tag for setReadMsgCloseOnExecIan Lance Taylor1-1/+1
Patch from Svante Signell. PR go/103573 PR go/104290 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/386216
2022-02-16libgo: restore building on SolarisIan Lance Taylor7-8/+17
Add build tags and a few other changes so that libgo builds on Solaris. Patch partially from Rainer Orth. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/386215
2022-02-13runtime: call timer functions via syscallIan Lance Taylor6-35/+18
It turns out to be painful to require linking against -lrt on GNU/Linux, as that makes it harder to link Go code into C programs. Instead just call the timer syscalls directly. That is what the upstream library does anyhow. gcc/go/ * gospec.cc: Revert 2022-02-09 change: (RTLIB, RT_LIBRARY): Don't define. (lang_specific_driver): Don't add -lrt if linking statically on GNU/Linux. gotools/ * configure.ac: Revert 2022-02-09 change: (RT_LIBS): Don't define. * Makefile.am (check-runtime): Don't set GOLIBS to $(RT_LIBS). * configure, Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/385475
2022-02-11libgo: update to Go1.18beta2Ian Lance Taylor1977-36276/+84204
gotools/ * Makefile.am (go_cmd_cgo_files): Add ast_go118.go (check-go-tool): Copy golang.org/x/tools directories. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/384695
2022-02-08compiler, internal/abi: implement FuncPCABI0, FuncPCABIInternalIan Lance Taylor3-5/+42
The Go 1.18 standard library uses an internal/abi package with two functions that are implemented in the compiler. This patch implements them in the gofrontend, to support the upcoming update to 1.18. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/383514
2022-02-03make `-Werror` optional in libatomic/libbacktrace/libgomp/libitm/libsanitizerDavid Seifert2-7/+6
* `-Werror` can cause issues when a more recent version of GCC compiles an older version: - https://bugs.gentoo.org/229059 - https://bugs.gentoo.org/475350 - https://bugs.gentoo.org/667104 libatomic/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libbacktrace/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libgomp/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libitm/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libsanitizer/ChangeLog: * configure.ac: Support --disable-werror. * aclocal.m4: Include also ../config/warnings.m4. * libbacktrace/Makefile.am (WARN_FLAGS): Remove. * configure: Regenerate. * Makefile.in: Regenerate. * asan/Makefile.in: Regenerate. * hwasan/Makefile.in: Regenerate. * interception/Makefile.in: Regenerate. * libbacktrace/Makefile.in: Regenerate. * lsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.in: Regenerate. * tsan/Makefile.in: Regenerate. * ubsan/Makefile.in: Regenerate. Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
2022-01-20runtime: build panic32.go on amd64p32Ian Lance Taylor1-2/+2
Fixes https://gcc.gnu.org/PR104149 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/380054
2021-12-29compiler, libgo: don't pad sparc64-linux epolleventIan Lance Taylor1-1/+1
Change the compiler to not add zero padding because of zero-sized fields named "_", since those can't be referenced anyhow. Change the sparc-linux64 epollevent struct to name the alignment field "_", to avoid zero padding. Fixes PR go/103847 PR go/103847 * godump.c (go_force_record_alignment): Name the alignment field "_". Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/374914
2021-09-21runtime: set runtime.GOROOT value at build timeIan Lance Taylor3-4/+21
In Go 1.17 the gc toolchain changed to set runtime.GOROOT in cmd/link (previously it was runtime/internal/sys.GOROOT). Do the same in libgo. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/351313 gotools/: * Makefile.am (check-runtime): Add goroot.go to --extrafiles. * Makefile.in: Regenerate.
2021-09-16libgo: update to go1.17.1 releaseIan Lance Taylor13-20/+153
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/350414
2021-09-07runtime: use hash32, not hash64, for amd64p32, mips64p32, mips64p32leIan Lance Taylor2-4/+4
Fixes PR go/102102 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/348015
2021-09-05libgo: update to final Go 1.17 releaseIan Lance Taylor12-65/+215
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/343729
2021-08-14libgo: various fixes for Solaris supportIan Lance Taylor9-16/+34
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/342189
2021-08-13runtime: use C cast syntax in stack.cIan Lance Taylor1-1/+1
Didn't notice earlier because this code is only used on systems that do not support -fsplit-stack. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/342051
2021-08-12libgo: update to Go1.17rc2Ian Lance Taylor2003-22813/+74652
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/341629
2021-08-12runtime: run gofmt on testdata/testwinsignal/main.goIan Lance Taylor1-19/+19
2021-08-12compiler: store pointers to go:notinheap types indirectlyIan Lance Taylor1-2/+2
This is the gofrontend version of https://golang.org/cl/264480. For golang/go#42076 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/340609
2021-08-05runtime: extend internal atomics to comply with sync/atomicIan Lance Taylor2-0/+105
This is the gofrontend version of https://golang.org/cl/289152. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/339690
2021-08-03compile, runtime: make selectnbrecv return two valuesIan Lance Taylor1-28/+3
The only different between selectnbrecv and selectnbrecv2 is the later set the input pointer value by second return value from chanrecv. So by making selectnbrecv return two values from chanrecv, we can get rid of selectnbrecv2, the compiler can now call only selectnbrecv and generate simpler code. This is the gofrontend version of https://golang.org/cl/292890. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/339529
2021-08-02compiler, runtime: allow slice to array pointer conversionIan Lance Taylor2-0/+9
Panic if the slice is too short. For golang/go#395 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/338630
2021-08-02compiler, runtime: support unsafe.Add and unsafe.SliceIan Lance Taylor1-0/+29
For golang/go#19367 For golang/go#40481 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/338949
2021-07-09runtime: remove direct assignments to memory locationsIan Lance Taylor2-3/+3
PR bootstrap/101374 They cause a warning with the updated GCC -Warray-bounds option. Replace them with calls to abort, which for our purposes is fine. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/333409
2021-06-10libgo: update to Go1.16.5 releaseIan Lance Taylor31-131/+781
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/326772
2021-05-18libgo: update configure to current sourcesIan Lance Taylor1-2/+2
Change-Id: I12766baf02bfdf2233f1c5bde1a270f06b020aa7 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/321076 Trust: Ian Lance Taylor <iant@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Than McIntosh <thanm@google.com>
2021-05-18libgo: update bzip2 binary test cases to match source repoIan Lance Taylor2-0/+0
2021-05-18libgo: use Windows line endings in testwinsignalIan Lance Taylor1-19/+19
2021-04-12libgo: update to Go1.16.3 releaseIan Lance Taylor20-67/+354
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/309490
2021-03-15libgo: update to Go 1.16.2 releaseIan Lance Taylor32-191/+509
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/301459
2021-03-12misc/cgo/testcarchive: don't use == for string equality in C codeIan Lance Taylor1-1/+1
Backport of https://golang.org/cl/300993. For PR go/99553 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/301458
2021-03-08runtime: cast SIGSTKSZ to uintptrIan Lance Taylor1-2/+2
In newer versions of glibc it is long, which causes a signed comparison warning. Fixes PR go/99458
2021-02-25libgo: ensure memmove, memset 8 byte atomicity on ppc64xLynn Boger6-6/+143
Go requires that pointer moves are done 8 bytes at a time, but gccgo uses libc's memmove and memset which does not require that, and there are some cases where an 8 byte move might be done as 4+4. To enforce 8 byte moves for memmove and memset, this adds a C implementation in libgo/runtime for memmove and memset to be used on ppc64le and ppc64. Asm implementations were considered but discarded to avoid different implementations for different target ISAs. Fixes golang/go#41428 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/294931
2021-02-19libgo: update to Go1.16 releaseIan Lance Taylor38-81/+434
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/293793
2021-02-03libgo: install new 1.16 packagesIan Lance Taylor2-17/+60
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/289069
2021-01-29internal/cpu: correctly link to getsystemcfgClément Chigot2-4/+1
Directly set getsystemcfg as //extern in internal/cpu instead of trying to use the runtime as in Go toolchain. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/287932
2021-01-29libgo: update to Go1.16rc1Ian Lance Taylor187-10091/+10352
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/287493