Age | Commit message (Collapse) | Author | Files | Lines |
|
On AIX, duplication of type descriptors can occur if one is
declared in the libgo and one in the Go program being compiled.
The AIX linker isn't able to merge them together as Linux one does.
One solution is to always load libgo first but that needs a huge mechanism in
gcc core. Thus, this patch ensures that the duplication isn't visible
for the end user.
In reflect and internal/reflectlite, the comparison of rtypes is made on their
name and not only on their addresses.
In reflect, toType() function is using a canonicalization map to force rtypes
having the same rtype.String() to return the same Type. This can't be made in
internal/reflectlite as it needs sync package. But, for now, it doesn't matter
as internal/reflectlite is not widely used.
Fixes golang/go#39276
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/260158
|
|
This option is no longer needed. There is no crash without it since
at least gcc-9.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/260157
|
|
match.sh was not correctly handling build constraints for Go versions
that have a two-digit suffix, like "go1.10".
The same issue will arise with Go 1.100, but that is a long ways off.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/260077
|
|
Fixes golang/go#41737
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/258977
|
|
Add support for the 32-bit RISC-V (RV32) ISA matching the 64-bit RISC-V
(RV64) port except for async preemption added as a stub only.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/251179
|
|
Patch from Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/257857
|
|
AIX ptrace syscalls doesn't have the same semantic than the glibc one.
The syscall package is already handling it correctly so disable the new
__go_ptrace C function for AIX.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/256777
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/256618
|
|
Syscall function can't be used on AIX. Therefore, Ioctl in
TestForeground must call raw_ioctl.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/175080
|
|
ptrace is available only for 32 bits programs.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/252558
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/235158
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/255201
|
|
This ensures that internal/goroot.IsStandardPackage does not treat
golang.org packages as being in the standard library.
For golang/go#41368
Fixes golang/go#41499
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/256319
|
|
ptrace is actually declared as a variadic function. On ppc64le
the ABI requires to the caller to allocate space for the parameters
and allows the caller to modify them.
On ppc64le, depending on how and what version of GCC is used,
it will save to parameter save area. This happened to clobber
a saved LR, and caused syscall.TestExecPtrace to fail with a timeout
when the tracee segfaults, and waits for the parent process to inspect.
Wrap this function to avoid directly calling glibc's ptrace from go.
Fixes golang/go#36698
Fixes go/92567
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/254755
|
|
Add a few more explicit references to enumeration constants
(RUSAGE_SELF, DT_UNKNOWN) in sysinfo.c to insure that their hosting enums
are emitted into DWARF, when using a clang host compiler during
the gollvm build.
Updates golang/go#41382.
Updates golang/go#41404.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/254941
|
|
Replace the U+00B7 middle dot character, placed after "mips64p32le"
in the target lists, with a space. The U+00B7 character may not be
considered whitespace by Bourne shell and any non-ASCII character
may render incorrectly in some terminal devices.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/251177
|
|
As gcc might now be compiled in 64bit, -maix32 must always be added
to ensure that created objects will be 32bit.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/250778
|
|
Like shared libraries, AIX static libraries must also have both 32 and
64 bit objects.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/250777
|
|
The previous patch wasn't working everytime. Especially when AR had
"-X32_64", the new .so would replace the default one and not just being
added.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/247377
|
|
It was accidentally lost in the 1.15rc1 merge.
Fixes PR go/96567
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/247843
|
|
AIX linker is not able to merge identical type descriptors in a single
symbol if there are coming from different object or shared object files.
This results into several pointers referencing the same type
descriptors.
Thus, eqtype is needed to ensure that these different symbols will be
considered as the same type descriptor.
Fixes golang/go#39276
gcc/go/ChangeLog:
* go-c.h (struct go_create_gogo_args): Add need_eqtype field.
* go-lang.c (go_langhook_init): Set need_eqtype.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/235697
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/247517
|
|
Per Andreas Schwab.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/246264
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/246363
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/245157
|
|
This ports https://golang.org/cl/227163 to the Go frontend.
This is a step toward moving up to the go1.15rc1 release.
Original CL description:
cmd/compile,runtime: pass only ptr and len to some runtime calls
Some runtime calls accept a slice, but only use ptr and len.
This change modifies most such routines to accept only ptr and len.
After this change, the only runtime calls that accept an unnecessary
cap arg are concatstrings and slicerunetostring.
Neither is particularly common, and both are complicated to modify.
Negligible compiler performance impact. Shrinks binaries a little.
There are only a few regressions; the one I investigated was
due to register allocation fluctuation.
Passes 'go test -race std cmd', modulo golang/go#38265 and golang/go#38266.
Wow, does that take a long time to run.
file before after Δ %
compile 19655024 19655152 +128 +0.001%
cover 5244840 5236648 -8192 -0.156%
dist 3662376 3658280 -4096 -0.112%
link 6680056 6675960 -4096 -0.061%
pprof 14789844 14777556 -12288 -0.083%
test2json 2824744 2820648 -4096 -0.145%
trace 11647876 11639684 -8192 -0.070%
vet 8260472 8256376 -4096 -0.050%
total 115163736 115118808 -44928 -0.039%
For golang/go#36890
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/245099
|
|
AIX-style libraries contains both 32 and 64 bit shared objects.
This patch follows the adding of FAT libraries support in other gcc
libraries (libgcc, listdc++, etc).
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/242957
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/243317
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/241999
|
|
CL 237897 added additional GOARCHes supported by gccgo to x/sys/cpu.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/238038
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/237899
|
|
The arenaBaseOffset modifications was aimed only for aix/ppc64.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/237038
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/234597
|
|
Test whether -static works, and use it if possible.
This time for sure.
For PR go/95061
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/234024
|
|
For PR go/95061
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/234019
|
|
This avoids problems finding libgo.so when running the test as root,
which invokes the test as a child process in various limited environments.
Fixes PR go/95061
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/233897
|
|
The expected result of TestCallersNilPointerPanic has changed in
GoLLVM. This CL makes some elements of the expected result optional
so that this test passes in both gccgo and GoLLVM.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/230138
|
|
This is a partial backport of https://golang.org/cl/233318.
It's only a partial backport because part of the change was
already applied to libgo in CL 193497 as part of the update
to the Go 1.13beta1 release.
Fixes PR go/95061
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/233359
|
|
The default test timeout duration of the gc compiler is 10 minutes,
and the current default timeout duration of gofrontend is 240 seconds,
which is not long enough for some big tests. This CL changes it to
600s, so that all tests have enough time to complete.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/229657
|
|
si_code in siginfo_t is a macro on NetBSD, not a member of the
struct itself, so add a C trampoline for receiving its value.
Also replace references to mos.waitsemacount with the replacement and
add some helpers from os_netbsd.go in the GC repository.
Update golang/go#38538.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/228918
|
|
This is the same issue as #33960, but on gofrontend.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220297
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/227551
|
|
Update to edea4a79e8d7dea2456b688f492c8af33d381dc2 which is likely to
be approximately the 1.14.2 release.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/227377
|
|
Set sigpc and implement dumpregs for linux/arm64.
Without this change, cmd/vet tool test will fail randomly.
Updates golang/go#20931
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220543
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/221158
|
|
Patch from Svante Signell.
Fixes GCC PR go/93900
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220592
|
|
Patch from Svante Signell.
Fixes GCC PR go/93900
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/220589
|
|
This will need to be done in the gc version too, probably more cleverly.
This version will ensure that the next GCC release works correctly
when using the GCC version of the go tool.
Updates golang/go#37272
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/219817
|
|
This makes it possible to use gccgo to bootstrap Go 1.14.
If we don't install this, gccgo can't compile the sort package.
Fixes GCC PR go/93679
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/219617
|
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/218017
|