aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/internal/cpu
AgeCommit message (Collapse)AuthorFilesLines
2022-02-11libgo: update to Go1.18beta2Ian Lance Taylor18-91/+22
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
2021-08-12libgo: update to Go1.17rc2Ian Lance Taylor13-11/+17
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/341629
2021-01-29internal/cpu: correctly link to getsystemcfgClément Chigot1-1/+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-05internal/cpu: more build fixes for Go1.16beta1 releaseIan Lance Taylor9-0/+63
Some files were missing from the libgo copy of internal/cpu, because they used to only declare CacheLinePadSize which libgo gets from goarch.sh. Now they also declare doinit, so copy them over. Adjust cpu_other.go. Fix the amd64p32 build by adding a build constraint to cpu_no_name.go. Fixes PR go/98493 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/281472
2021-01-01internal/cpu: add aarch64 support functionsIan Lance Taylor1-0/+26
Patch from Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/281000
2021-01-01internal/cpu, golang.org/x/sys/cpu: support other GOARCH valuesIan Lance Taylor6-48/+32
Add support (mostly dummy support) for GOARCH values supported by gofrontend but not gc. Fix PPC handling. Fixes https://gcc.gnu.org/PR98493 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/280932
2020-12-30libgo: update to Go1.16beta1 releaseIan Lance Taylor17-131/+359
This does not yet include support for the //go:embed directive added in this release. * Makefile.am (check-runtime): Don't create check-runtime-dir. (mostlyclean-local): Don't remove check-runtime-dir. (check-go-tool, check-vet): Copy in go.mod and modules.txt. (check-cgo-test, check-carchive-test): Add go.mod file. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/280172
2020-11-30internal/cpu: don't define CacheLinePadSize for mips64xIan Lance Taylor1-2/+0
For libgo the definition comes from the generated file cpugen.go. Fixes PR go/98041 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/273866
2020-11-20compiler, libgo: change mangling schemeIan Lance Taylor1-10/+10
Overhaul the mangling scheme to avoid ambiguities if the package path contains a dot. Instead of using dot both to separate components and to mangle characters, use dot only to separate components and use underscore to mangle characters. For golang/go#41862 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/271726
2020-09-22runtime, net: fix build errors on AIXClément Chigot2-1/+2
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/235158
2020-08-01libgo: update to go1.15rc1Ian Lance Taylor6-37/+66
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/245157
2020-01-23internal/cpu: don't define CacheLinePadSize for riscv64Ian Lance Taylor1-2/+0
In libgo CacheLinePadSize is defined by the generated file cpugen.go. Keep cpu_riscv64.go around, even though it is now empty, so that we will pick up changes to it in future merges. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/216077
2020-01-21libgo: update to Go1.14beta1Ian Lance Taylor5-8/+7
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/214297
2019-10-14internal/cpu: define kdsaQuery for s390Ian Lance Taylor1-0/+15
Patch from Andreas Krebbel. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/201037 From-SVN: r276962
2019-09-06libgo: update to Go 1.13beta1 releaseIan Lance Taylor2-29/+67
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/193497 From-SVN: r275473
2019-02-21re PR go/89407 (go bootstrap failure on s390x starting with r268941)Ian Lance Taylor1-2/+2
PR go/89407 internal/cpu: use #ifdef __s390x__ in C code Patch by Jakub Jelinek. Fixes https://gcc.gnu.org/PR89407 Reviewed-on: https://go-review.googlesource.com/c/163297 From-SVN: r269063
2019-02-19re PR go/89169 (FAIL: internal/cpu)Ian Lance Taylor1-3/+1
PR go/89169 internal/cpu: do not require POWER8 Although the gc toolchain requires POWER8, the gccgo toolchain does not. Fixes https://gcc.gnu.org/PR89169 Reviewed-on: https://go-review.googlesource.com/c/162979 From-SVN: r269019
2019-02-15re PR go/89123 (Too many go test failures on s390x-linux)Ian Lance Taylor2-15/+122
PR go/89123 internal/cpu, runtime: add S/390 CPU capability support Patch by Robin Dapp. Updates https://gcc.gnu.org/PR89123 Reviewed-on: https://go-review.googlesource.com/c/162887 From-SVN: r268941
2019-01-22re PR go/88927 (Bootstrap failure on arm in libgo starting with r268084)Ian Lance Taylor1-0/+33
PR go/88927 runtime, internal/cpu: fix build for ARM GNU/Linux Was failing with ../../../libgo/go/internal/cpu/cpu.go:138:2: error: reference to undefined name 'doinit' 138 | doinit() | ^ Fix it by adding in Go 1.12 internal/cpu/cpu_arm.go, and the code in runtime that initializes the values. Fixes https://gcc.gnu.org/PR88927. Reviewed-on: https://go-review.googlesource.com/c/158717 From-SVN: r268131
2019-01-18libgo: update to Go1.12beta2Ian Lance Taylor10-263/+263
Reviewed-on: https://go-review.googlesource.com/c/158019 gotools/: * Makefile.am (go_cmd_vet_files): Update for Go1.12beta2 release. (GOTOOLS_TEST_TIMEOUT): Increase to 600. (check-runtime): Export LD_LIBRARY_PATH before computing GOARCH and GOOS. (check-vet): Copy golang.org/x/tools into check-vet-dir. * Makefile.in: Regenerate. gcc/testsuite/: * go.go-torture/execute/names-1.go: Stop using debug/xcoff, which is no longer externally visible. From-SVN: r268084
2018-10-25compiler: improve name mangling for packpathsIan Lance Taylor1-2/+2
The current implementation of Gogo::pkgpath_for_symbol was written in a way that allowed two distinct package paths to map to the same symbol, which could cause collisions at link- time or compile-time. Switch to a better mangling scheme to insure that we get a unique packagepath symbol for each package. In the new scheme instead of having separate mangling schemes for identifiers and package paths, the main identifier mangler ("go_encode_id") now handles mangling of both packagepath characters and identifier characters. The new mangling scheme is more intrusive: "foo/bar.Baz" is mangled as "foo..z2fbar.Baz" instead of "foo_bar.Baz". To mitigate this, this patch also adds a demangling capability so that function names returned from runtime.CallersFrames are converted back to their original unmangled form. Changing the pkgpath_for_symbol scheme requires updating a number of //go:linkname directives and C "__asm__" directives to match the new scheme, as well as updating the 'gotest' driver (which makes assumptions about the correct mapping from pkgpath symbol to package name). Fixes golang/go#27534. Reviewed-on: https://go-review.googlesource.com/c/135455 From-SVN: r265510
2018-10-05libgo: use inline assembly in favor of call to _xgetbv()Ian Lance Taylor1-4/+10
Use inline assembly in the implementation of internal_cpu.xgetbv as opposed to a call to the intrinsic _xgetbv(), since non-gcc compilers (e.g. clang) may or may not have support for it. Reviewed-on: https://go-review.googlesource.com/c/140137 From-SVN: r264882
2018-09-25internal/bytealg, internal/cpu, internal/poll: portability fixesIan Lance Taylor10-50/+0
In internal/bytealg correct a +build tag to never build indexbyte_generic.go for the gofrontend, where we always use indexbyte_native.go. For internal/cpu let the Makefile define CacheLineSize using goarch.sh, rather than trying to enumerate all the possibilities in cpu_ARCH.go files. In internal/poll call the C fcntl function rather than using SYS_FCNTL. Change mksysinfo.sh to ensure that F_GETPIPE_SZ is always defined, and check that in internal/poll. Reviewed-on: https://go-review.googlesource.com/137256 From-SVN: r264572
2018-09-24libgo: update to Go 1.11Ian Lance Taylor17-106/+782
Reviewed-on: https://go-review.googlesource.com/136435 gotools/: * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to make sure it is writable. (check-go-tools): Likewise. (check-vet): Copy internal/objabi to check-vet-dir. * Makefile.in: Rebuild. From-SVN: r264546
2018-01-09libgo: update to Go1.10beta1Ian Lance Taylor7-19/+167
Update the Go library to the 1.10beta1 release. Requires a few changes to the compiler for modifications to the map runtime code, and to handle some nowritebarrier cases in the runtime. Reviewed-on: https://go-review.googlesource.com/86455 gotools/: * Makefile.am (go_cmd_vet_files): New variable. (go_cmd_buildid_files, go_cmd_test2json_files): New variables. (s-zdefaultcc): Change from constants to functions. (noinst_PROGRAMS): Add vet, buildid, and test2json. (cgo$(EXEEXT)): Link against $(LIBGOTOOL). (vet$(EXEEXT)): New target. (buildid$(EXEEXT)): New target. (test2json$(EXEEXT)): New target. (install-exec-local): Install all $(noinst_PROGRAMS). (uninstall-local): Uninstasll all $(noinst_PROGRAMS). (check-go-tool): Depend on $(noinst_PROGRAMS). Copy down objabi.go. (check-runtime): Depend on $(noinst_PROGRAMS). (check-cgo-test, check-carchive-test): Likewise. (check-vet): New target. (check): Depend on check-vet. Look at cmd_vet-testlog. (.PHONY): Add check-vet. * Makefile.in: Rebuild. From-SVN: r256365
2017-09-14libgo: update to go1.9Ian Lance Taylor12-0/+181
Reviewed-on: https://go-review.googlesource.com/63753 From-SVN: r252767