[Bug go/90482] [10 regression] Many 32-bit Solaris/SPARC tests FAIL with SIGBUS

2019-05-16 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90482

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri May 17 05:49:22 2019
New Revision: 271310

URL: https://gcc.gnu.org/viewcvs?rev=271310=gcc=rev
Log:
PR go/90482
compiler: make value method of direct interface type takes pointer

Currently, a value method of a direct interface type takes the
value of the receiver, which is pointer shaped, as the first
parameter. When this method is called through interface, we
actually pass the interface data as a pointer. On most platforms
this is ok, as the underlying calling convention is the same,
except that on SPARC32, the calling convention is actually
different.

This CL changes the method function actually takes a pointer.
The function will convert the pointer to the pointer-shaped
receiver type (a no-op conversion from machine code's aspect).
For a direct call, in the caller we convert the receiver to a
pointer (also no-op conversion) before invoking the method. For
an interface call, we pass the pointer as before. This way, it is
consistent that we always pass a pointer.

Hopefully this fixes SPARC32 build and https://gcc.gnu.org/PR90482.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/177758

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/expressions.cc
trunk/gcc/go/gofrontend/expressions.h
trunk/gcc/go/gofrontend/gogo.cc
trunk/gcc/go/gofrontend/types.cc

[Bug target/89093] [9 Regression] C++ exception handling clobbers d8 VFP register

2019-04-24 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89093

--- Comment #82 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Apr 24 12:45:45 2019
New Revision: 270542

URL: https://gcc.gnu.org/viewcvs?rev=270542=gcc=rev
Log:
PR target/89093
runtime: mark unwind functions general-regs-only on ARM

For https://gcc.gnu.org/PR89093.

Change-Id: Ic426b43d633c77104bda01d4e7835bc9ab4695ef
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/173657
Reviewed-by: Ian Lance Taylor 


Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/runtime/go-unwind.c

[Bug go/90110] [9 Regression] libgo fails to build against glibc 2.19

2019-04-17 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90110

--- Comment #10 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Apr 18 04:11:22 2019
New Revision: 270434

URL: https://gcc.gnu.org/viewcvs?rev=270434=gcc=rev
Log:
PR go/90110
compiler: use temporary to avoid early destruction

The code was passing a substr directly to strtol, and then checking
the *end value returned by strtol.  But the substr could be destroyed
as soon as strtol returns, making the test of *end invalid.

Also fix an incorrect test of the string index rather than the value.

Fixes https://gcc.gnu.org/PR90110

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/172663

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/import.cc

[Bug libbacktrace/89669] /usr/ccs/bin/ld: Unsatisfied symbols: backtrace_uncompress_zdebug

2019-03-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89669

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Mar 11 20:40:34 2019
New Revision: 269594

URL: https://gcc.gnu.org/viewcvs?rev=269594=gcc=rev
Log:
PR libbacktrace/89669
* Makefile.am (BUILDTESTS): Only add ztest and ztest_alloc if
HAVE_ELF.
* Makefile.in: Regenerate.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/Makefile.am
trunk/libbacktrace/Makefile.in

[Bug go/89447] libgo largefile support is incomplete and inconsistent

2019-03-08 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89447

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Sat Mar  9 02:10:22 2019
New Revision: 269521

URL: https://gcc.gnu.org/viewcvs?rev=269521=gcc=rev
Log:
PR go/89447
syscall, internal/syscall: adjust use of largefile functions

Consistently call __go_openat for openat.  Use fstatat64, creat64,
sendfile64, and getdents64 where needed.

Based on patch by Rainer Orth.

Fixes https://gcc.gnu.org/PR89447

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166420

Added:
trunk/libgo/go/internal/syscall/unix/at_largefile.go
trunk/libgo/go/internal/syscall/unix/at_regfile.go
trunk/libgo/go/syscall/libcall_bsd_largefile.go
trunk/libgo/go/syscall/libcall_bsd_regfile.go
trunk/libgo/go/syscall/libcall_solaris_largefile.go
trunk/libgo/go/syscall/libcall_solaris_regfile.go
Removed:
trunk/libgo/go/syscall/libcall_solaris.go
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/internal/syscall/unix/at.go
trunk/libgo/go/syscall/libcall_bsd.go
trunk/libgo/go/syscall/libcall_posix.go
trunk/libgo/go/syscall/libcall_posix_largefile.go
trunk/libgo/go/syscall/libcall_posix_regfile.go

[Bug go/89227] gotools test cmd/go fails with link error "call lacks nop, can't restore toc; recompile with -fPIC"

2019-03-06 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89227

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Mar  7 00:53:41 2019
New Revision: 269449

URL: https://gcc.gnu.org/viewcvs?rev=269449=gcc=rev
Log:
PR go/89227
* go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
only-inline function.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug go/89598] [9 Regression] go frontend fails to build against mpfr 2.4.2

2019-03-05 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89598

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Mar  6 05:02:16 2019
New Revision: 269411

URL: https://gcc.gnu.org/viewcvs?rev=269411=gcc=rev
Log:
PR go/89598
compiler: use GMP_RNDN rather than MPFR_RNDN

Missed one last time around.  This fixes the build with mpfr 2.4.2.

Fixes https://gcc.gnu.org/PR89598

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165420

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/expressions.cc

[Bug go/89598] [9 Regression] go frontend fails to build against mpfr 2.4.2

2019-03-05 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89598

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Mar  5 19:41:42 2019
New Revision: 269399

URL: https://gcc.gnu.org/viewcvs?rev=269399=gcc=rev
Log:
PR go/89598
compiler: use GMP_RNDN rather than MPFR_RNDN

This fixes the build with mpfr 2.4.2.

Fixes https://gcc.gnu.org/PR89598

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165418

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/expressions.cc

[Bug go/89406] Go testing leaves many temporary directories in /tmp around

2019-03-01 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89406

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Sat Mar  2 00:50:30 2019
New Revision: 269338

URL: https://gcc.gnu.org/viewcvs?rev=269338=gcc=rev
Log:
PR go/89406
go/internal/gccgoimporter: remove temporary directories in test

Backport of https://golang.org/cl/164862.

Updates https://gcc.gnu.org/PR89406

Reviewed-on: https://go-review.googlesource.com/c/164863

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/go/internal/gccgoimporter/importer_test.go

[Bug go/89172] FAIL: runtime/pprof

2019-02-27 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89172

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb 27 22:35:10 2019
New Revision: 269266

URL: https://gcc.gnu.org/viewcvs?rev=269266=gcc=rev
Log:
PR go/89172
internal/cpu, runtime, runtime/pprof: handle function descriptors

When using PPC64 ELF ABI v1 a function address is not a PC, but is the
address of a function descriptor.  The first field in the function
descriptor is the actual PC (see
http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES).
The libbacktrace library knows about this, and libgo uses actual PC
values consistently except for the helper function funcPC that appears
in both runtime and runtime/pprof.

This patch fixes funcPC by recording, in the internal/cpu package,
whether function descriptors are being used.  We have to check for
function descriptors using a C compiler check, because GCC can be
configured using --with-abi to select the ELF ABI to use.

Fixes https://gcc.gnu.org/PR89172

Reviewed-on: https://go-review.googlesource.com/c/162978

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in
trunk/libgo/configure
trunk/libgo/configure.ac
trunk/libgo/go/runtime/pprof/proto.go
trunk/libgo/go/runtime/proc.go
trunk/libgo/testsuite/Makefile.in

[Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails

2019-02-26 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #14 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Feb 26 14:46:56 2019
New Revision: 269214

URL: https://gcc.gnu.org/viewcvs?rev=269214=gcc=rev
Log:
PR go/86535
runtime: always declare nanotime in Go

For libgo it's always defined in C.

Updates https://gcc.gnu.org/PR86535

Reviewed-on: https://go-review.googlesource.com/c/163743

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/stubs3.go

[Bug go/89406] Go testing leaves many temporary directories in /tmp around

2019-02-21 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89406

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Feb 22 00:47:30 2019
New Revision: 269087

URL: https://gcc.gnu.org/viewcvs?rev=269087=gcc=rev
Log:
PR go/89406
net: remove unixgram test sockets

Backport https://golang.org/cl/163277 from the master library.

Updates https://gcc.gnu.org/PR89406

Reviewed-on: https://go-review.googlesource.com/c/163200

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/net/listen_test.go
trunk/libgo/go/net/mockserver_test.go
trunk/libgo/go/net/splice_test.go

[Bug go/89170] FAIL: net/http

2019-02-21 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89170

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Feb 21 22:50:24 2019
New Revision: 269079

URL: https://gcc.gnu.org/viewcvs?rev=269079=gcc=rev
Log:
PR go/89170
* varasm.c (decode_addr_const): Call lookup_constant_def rather
than output_constant_def.
(add_constant_to_table): New static function.
(output_constant_def): Call add_constant_to_table.
(tree_output_constant_def): Likewise.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/varasm.c

[Bug go/89407] [9 Regression] go bootstrap failure on s390x starting with r268941

2019-02-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89407

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Feb 21 01:06:01 2019
New Revision: 269063

URL: https://gcc.gnu.org/viewcvs?rev=269063=gcc=rev
Log:
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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/internal/cpu/cpu_gccgo.c

[Bug go/89169] FAIL: internal/cpu

2019-02-19 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89169

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Feb 19 15:42:09 2019
New Revision: 269019

URL: https://gcc.gnu.org/viewcvs?rev=269019=gcc=rev
Log:
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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/internal/cpu/cpu_ppc64x.go

[Bug go/89368] [9 regression] ICE in go/gofrontend/expressions.cc:4669 after r268923

2019-02-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89368

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Feb 15 21:04:58 2019
New Revision: 268948

URL: https://gcc.gnu.org/viewcvs?rev=268948=gcc=rev
Log:
PR go/89368
compiler: write barrier check nil-check policy tweak

Tweak the recipe for generating writeBarrier loads to insure that the
dereference expr is marked as not requiring a nil check (not needed
for gccgo, but needed for gollvm).

Fixes https://gcc.gnu.org/PR89368

Reviewed-on: https://go-review.googlesource.com/c/162904

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/wb.cc

[Bug go/89123] Too many go test failures on s390x-linux

2019-02-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89123

--- Comment #13 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Feb 15 14:51:10 2019
New Revision: 268941

URL: https://gcc.gnu.org/viewcvs?rev=268941=gcc=rev
Log:
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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/internal/cpu/cpu_gccgo.c
trunk/libgo/go/internal/cpu/cpu_s390x.go
trunk/libgo/go/runtime/os_linux_s390x.go

[Bug go/89168] FAIL: cmd/go/internal/load

2019-02-14 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89168

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Feb 15 00:36:50 2019
New Revision: 268922

URL: https://gcc.gnu.org/viewcvs?rev=268922=gcc=rev
Log:
PR go/89168
libgo: change gotest to run examples with output

Change the gotest script to act like "go test" and run examples that
have "output" comments.  This is not done with full generality, but
just enough to run the libgo tests.  Other packages should be tested
with "go test" as usual.

While we're here clean up some old bits of gotest, and only run
TestXXX functions that are actually in *_test.go files.  The latter
change should fix https://gcc.gnu.org/PR89168.

Reviewed-on: https://go-review.googlesource.com/c/162139

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/example_test.go
trunk/libgo/testsuite/gotest

[Bug go/89321] cross build with riscv64 gccgo compilation failed due to assert in constructor_expression

2019-02-14 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89321

--- Comment #7 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Feb 14 21:07:13 2019
New Revision: 268904

URL: https://gcc.gnu.org/viewcvs?rev=268904=gcc=rev
Log:
PR go/89321
compiler: copy has_padding field from converted struct

Test case is https://golang.org/cl/162617.

Fixes https://gcc.gnu.org/PR89321

Reviewed-on: https://go-review.googlesource.com/c/162618

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/types.cc

[Bug go/89193] "make distclean" leaves stuff in gotools/

2019-02-12 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89193

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb 13 00:10:06 2019
New Revision: 268830

URL: https://gcc.gnu.org/viewcvs?rev=268830=gcc=rev
Log:
PR go/89193
* Makefile.am (mostlyclean-local): Avoid getting an error from
chmod.  Remove check-vet-dir and gocache-test.
* Makefile.in: Regenerate.

Modified:
trunk/gotools/ChangeLog
trunk/gotools/Makefile.am
trunk/gotools/Makefile.in

[Bug go/89199] libgo regression in implementation of CompareAndSwap functions resulting in intermittent testcase failures on ppc64le power9 after r268458

2019-02-06 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89199

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb  6 20:46:00 2019
New Revision: 268591

URL: https://gcc.gnu.org/viewcvs?rev=268591=gcc=rev
Log:
PR go/89199
sync/atomic: use strong form of atomic_compare_exchange_n

In the recent change to use atomic_compare_exchange_n I thought we
could use the weak form, which can spuriously fail. But that is not
how it is implemented in the gc library, and it is not what the rest
of the library expects.

Thanks to Lynn Boger for identifying the problem.

Fixes https://gcc.gnu.org/PR89199

Reviewed-on: https://go-review.googlesource.com/c/161359

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/sync/atomic/atomic.c

[Bug go/89019] LTO and gccgo cause ICE during free_lang_data

2019-02-05 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89019

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb  6 04:48:35 2019
New Revision: 268572

URL: https://gcc.gnu.org/viewcvs?rev=268572=gcc=rev
Log:
gcc/go:
PR go/89019
* go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
placeholder structs as requiring structural equality.
(Gcc_backend::set_placeholder_pointer_type): Propagate the
canonical type from the desired pointer type to the placeholder
pointer type.
gcc/testsuite/:
* lib/go-torture.exp: Test compiling with -flto.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/go-torture.exp

[Bug go/88927] [9 Regression] Bootstrap failure on arm in libgo starting with r268084

2019-01-21 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88927

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jan 22 00:06:44 2019
New Revision: 268131

URL: https://gcc.gnu.org/viewcvs?rev=268131=gcc=rev
Log:
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

Added:
trunk/libgo/go/internal/cpu/cpu_arm.go
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/os_linux_arm.go

[Bug libbacktrace/88890] libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64

2019-01-18 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88890

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Jan 18 17:13:59 2019
New Revision: 268082

URL: https://gcc.gnu.org/viewcvs?rev=268082=gcc=rev
Log:
PR libbacktrace/88890
* mmapio.c (backtrace_get_view): Change size parameter to
uint64_t.  Check that value fits in size_t.
* read.c (backtrace_get_view): Likewise.
* internal.h (backtrace_get_view): Update declaration.
* elf.c (elf_add): Pass shstrhdr->sh_size to backtrace_get_view.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/elf.c
trunk/libbacktrace/internal.h
trunk/libbacktrace/mmapio.c
trunk/libbacktrace/read.c

[Bug go/88202] FAIL: runtime/pprof

2019-01-17 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88202

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Jan 18 03:29:38 2019
New Revision: 268057

URL: https://gcc.gnu.org/viewcvs?rev=268057=gcc=rev
Log:
PR go/88202
runtime: in sigprof, skip to sigtrampgo if we don't find sigtramp

Fixes https://gcc.gnu.org/PR88202

Reviewed-on: https://go-review.googlesource.com/c/158218

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/proc.go

[Bug go/86343] types built by GO share TYPE_FIELDS in unsupported way

2019-01-09 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86343

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Jan  9 23:38:55 2019
New Revision: 267789

URL: https://gcc.gnu.org/viewcvs?rev=267789=gcc=rev
Log:
PR go/86343
* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Go back to
build_distinct_type_copy, but copy the fields so that they have
the right DECL_CONTEXT.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug go/88060] ../../../gcc-8.2.0/libgo/go/syscall/libcall_linux_utimesnano.go:17:18: error: reference to undefined name ‘_AT_FDCWD’

2018-11-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88060

--- Comment #8 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Nov 21 02:16:15 2018
New Revision: 266333

URL: https://gcc.gnu.org/viewcvs?rev=266333=gcc=rev
Log:
PR go/88060
syscall: always define _AT_FDCWD and IPv6MTUInfo

They aren't defined by old versions of glibc, but are required by the
code in syscall_linux.go.

Reviewed-on: https://go-review.googlesource.com/c/150697

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/mksysinfo.sh

[Bug bootstrap/82856] --enable-maintainter-mode broken by incompatiblity of gcc's required automake and modern Perl

2018-10-31 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82856

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Oct 31 20:46:17 2018
New Revision: 265701

URL: https://gcc.gnu.org/viewcvs?rev=265701=gcc=rev
Log:
PR bootstrap/82856

libgo: update to autoconf 2.69 and automake 1.15.1

Initial patch from Joseph Myers.

Reviewed-on: https://go-review.googlesource.com/c/146417

Removed:
trunk/libgo/config/go.m4
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in
trunk/libgo/aclocal.m4
trunk/libgo/config/libtool.m4
trunk/libgo/configure
trunk/libgo/configure.ac
trunk/libgo/testsuite/Makefile.in

[Bug go/87661] [9 Regression] libgo bootstrap failure on arm-linux-gnueabihf (redefinition of constants)

2018-10-23 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87661

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Oct 23 19:02:29 2018
New Revision: 265439

URL: https://gcc.gnu.org/viewcvs?rev=265439=gcc=rev
Log:
PR go/87661
runtime: remove unused armArch, hwcap and hardDiv

After CL 140057 these are only written but never read in gccgo.

Reviewed-on: https://go-review.googlesource.com/c/141077

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/os_linux_arm.go

[Bug libbacktrace/87529] libbacktrace API forces users to have memory leaks

2018-10-05 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87529

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Oct  5 14:09:07 2018
New Revision: 264871

URL: https://gcc.gnu.org/viewcvs?rev=264871=gcc=rev
Log:
PR libbacktrace/87529
* backtrace.h: Document that backtrace_create_state should be
called only once.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/backtrace.h

[Bug go/87260] [8/9 Regression] go fails to build a simple program on arm-linux-gnueabihf

2018-09-14 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87260

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Sep 14 19:42:27 2018
New Revision: 264331

URL: https://gcc.gnu.org/viewcvs?rev=264331=gcc=rev
Log:
PR go/87260
cmd/go: correct gccgo buildid file on ARM

Bring in https://golang.org/cl/135297 from the gc repository to fix a
GCC bug report.

Original CL description:

The GNU assembler for ARM treats @ as a comment character, so section
types must be written using % instead.

Fixes https://gcc.gnu.org/PR87260.

Reviewed-on: https://go-review.googlesource.com/135360

Modified:
branches/gcc-8-branch/libgo/go/cmd/go/internal/work/buildid.go

[Bug go/86331] the gccgo's "go" tool looks like failing to invoke any sub go command

2018-07-02 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86331

--- Comment #13 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Jul  2 16:29:24 2018
New Revision: 262315

URL: https://gcc.gnu.org/viewcvs?rev=262315=gcc=rev
Log:
PR go/86331
os: check return value as well as error from waitid

https://gcc.gnu.org/PR86331 indicates that if a signal handler runs it
is possible for syscall.Syscall6 to return a non-zero errno value even
if no error occurs. That is a problem in general, but this fix will
let us work around the general problem for the specific case of
calling waitid.

Reviewed-on: https://go-review.googlesource.com/121595

Modified:
branches/gcc-7-branch/libgo/go/os/wait_waitid.go

[Bug go/86331] the gccgo's "go" tool looks like failing to invoke any sub go command

2018-07-02 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86331

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Jul  2 16:28:58 2018
New Revision: 262314

URL: https://gcc.gnu.org/viewcvs?rev=262314=gcc=rev
Log:
PR go/86331
os: check return value as well as error from waitid

https://gcc.gnu.org/PR86331 indicates that if a signal handler runs it
is possible for syscall.Syscall6 to return a non-zero errno value even
if no error occurs. That is a problem in general, but this fix will
let us work around the general problem for the specific case of
calling waitid.

Reviewed-on: https://go-review.googlesource.com/121595

Modified:
branches/gcc-8-branch/libgo/go/os/wait_waitid.go

[Bug go/86331] the gccgo's "go" tool looks like failing to invoke any sub go command

2018-07-02 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86331

--- Comment #11 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Jul  2 16:28:43 2018
New Revision: 262313

URL: https://gcc.gnu.org/viewcvs?rev=262313=gcc=rev
Log:
PR go/86331
os: check return value as well as error from waitid

https://gcc.gnu.org/PR86331 indicates that if a signal handler runs it
is possible for syscall.Syscall6 to return a non-zero errno value even
if no error occurs. That is a problem in general, but this fix will
let us work around the general problem for the specific case of
calling waitid.

Reviewed-on: https://go-review.googlesource.com/121595

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/os/wait_waitid.go

[Bug go/86343] types built by GO share TYPE_FIELDS in unsupported way

2018-06-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86343

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jun 28 17:46:36 2018
New Revision: 262225

URL: https://gcc.gnu.org/viewcvs?rev=262225=gcc=rev
Log:
PR go/86343
* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
build_variant_type_copy rather than build_distinct_type_copy.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug libgcc/86213] -fsplit-stack runtime may clobber SSE input param reg

2018-06-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86213

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Jun 20 21:57:44 2018
New Revision: 261826

URL: https://gcc.gnu.org/viewcvs?rev=261826=gcc=rev
Log:
libgcc/:
PR libgcc/86213
* generic-morestack.c (allocate_segment): Move calls to getenv and
getpagesize to __morestack_load_mmap.
(__morestack_load_mmap) Initialize static_pagesize and
use_guard_page here so as to avoid clobbering SSE regs during a
__morestack call.
gcc/testsuite/:
* gcc.dg/split-8.c: New.

Added:
branches/gcc-8-branch/gcc/testsuite/gcc.dg/split-8.c
Modified:
branches/gcc-8-branch/gcc/testsuite/ChangeLog
branches/gcc-8-branch/libgcc/ChangeLog
branches/gcc-8-branch/libgcc/generic-morestack.c

[Bug libgcc/86213] -fsplit-stack runtime may clobber SSE input param reg

2018-06-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86213

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Jun 20 21:11:23 2018
New Revision: 261823

URL: https://gcc.gnu.org/viewcvs?rev=261823=gcc=rev
Log:
libgcc/:
PR libgcc/86213
* generic-morestack.c (allocate_segment): Move calls to getenv and
getpagesize to __morestack_load_mmap.
(__morestack_load_mmap) Initialize static_pagesize and
use_guard_page here so as to avoid clobbering SSE regs during a
__morestack call.
gcc/testsuite/:
* gcc.dg/split-8.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/split-8.c
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgcc/ChangeLog
trunk/libgcc/generic-morestack.c

[Bug go/85429] Several gotools tests FAIL with Solaris as

2018-05-31 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85429

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu May 31 22:46:52 2018
New Revision: 261045

URL: https://gcc.gnu.org/viewcvs?rev=261045=gcc=rev
Log:
PR go/85429

Various backports from mainline:

libgo: update to Go 1.10.2 release

cmd/go: support more Solaris assembler syntaxes

Patch by Rainer Orth.

cmd/go: update to match recent changes to gc

In https://golang.org/cl/111097 the gc version of cmd/go was updated
to include some gofrontend-specific changes. The gofrontend code
already has different versions of those changes; this CL makes the
gofrontend match the upstream code.

cmd/go, cmd/vet: make vet work with gccgo

Backport https://golang.org/cl/113715 and https://golang.org/cl/113716:

cmd/go: don't pass -compiler flag to vet

Without this running go vet -compiler=gccgo causes vet to fail.
The vet tool does need to know the compiler, but it is passed in
vetConfig.Compiler.

cmd/go, cmd/vet, go/internal/gccgoimport: make vet work with gccgo

When using gccgo/GoLLVM, there is no package file for a standard
library package. Since it is impossible for the go tool to rebuild the
package, and since the package file exists only in the form of a .gox
file, this seems like the best choice. Unfortunately it was confusing
vet, which wanted to see a real file. This caused vet to report errors
about missing package files for standard library packages. The
gccgoimporter knows how to correctly handle this case. Fix this by

1) telling vet which packages are standard;
2) letting vet skip those packages;
3) letting the gccgoimporter handle this case.

As a separate required fix, gccgo/GoLLVM has no runtime/cgo package,
so don't try to depend on it (as it happens, this fixes golang/go#25324).

The result is that the cmd/go vet tests pass when using -compiler=gccgo.

crypto/x509: specify path to AIX certificate file

go/build, cmd/go: update to match recent changes to gc

Several recent changes to the gc version of cmd/go improve the
gofrontend support. These changes are partially copies of existing
gofrontend differences, and partially new code. This CL makes the
gofrontend match the upstream code.

The changes included here come from:
https://golang.org/cl/111575
https://golang.org/cl/111595
https://golang.org/cl/111635
https://golang.org/cl/111636

For the record, the following recent gc changes are based on code
already present in the gofrontend repo:
https://golang.org/cl/110915
https://golang.org/cl/111615

For the record, a gc change, partially based on earlier gofrontend
work, also with new gc code, was already copied to gofrontend repo in
CL 111099:

https://golang.org/cl/111097

This moves the generated list of standard library packages from
cmd/go/internal/load to go/build.

gotools/ChangeLog:

Backport from mainline:
2018-05-09  Ian Lance Taylor  
* Makefile.am (check-go-tool): Don't copy zstdpkglist.go.
* Makefile.in: Rebuild.

Added:
branches/gcc-8-branch/libgo/go/cmd/internal/objabi/funcid.go
branches/gcc-8-branch/libgo/go/go/build/gc.go
branches/gcc-8-branch/libgo/go/go/build/gccgo.go
branches/gcc-8-branch/libgo/go/go/internal/srcimporter/testdata/issue23092/
   
branches/gcc-8-branch/libgo/go/go/internal/srcimporter/testdata/issue23092/issue23092.go
branches/gcc-8-branch/libgo/go/go/internal/srcimporter/testdata/issue24392/
   
branches/gcc-8-branch/libgo/go/go/internal/srcimporter/testdata/issue24392/issue24392.go
branches/gcc-8-branch/libgo/go/net/http/pprof/pprof_test.go
branches/gcc-8-branch/libgo/misc/cgo/testplugin/src/issue24351/
branches/gcc-8-branch/libgo/misc/cgo/testplugin/src/issue24351/main.go
branches/gcc-8-branch/libgo/misc/cgo/testplugin/src/issue24351/plugin.go
Modified:
branches/gcc-8-branch/gotools/ChangeLog
branches/gcc-8-branch/gotools/Makefile.am
branches/gcc-8-branch/gotools/Makefile.in
branches/gcc-8-branch/libgo/MERGE
branches/gcc-8-branch/libgo/Makefile.am
branches/gcc-8-branch/libgo/Makefile.in
branches/gcc-8-branch/libgo/VERSION
branches/gcc-8-branch/libgo/go/archive/zip/reader.go
branches/gcc-8-branch/libgo/go/archive/zip/reader_test.go
branches/gcc-8-branch/libgo/go/cmd/go/alldocs.go
branches/gcc-8-branch/libgo/go/cmd/go/go_test.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/cfg/cfg.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/get/vcs.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/get/vcs_test.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/help/helpdoc.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/load/pkg.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/test/test.go
branches/gcc-8-branch/libgo/go/cmd/go/internal/vet

[Bug go/85630] GCC 8.1.0: Filesystem pollution during build: .cache dir in $HOME

2018-05-04 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85630

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri May  4 17:07:20 2018
New Revision: 259945

URL: https://gcc.gnu.org/viewcvs?rev=259945=gcc=rev
Log:
PR go/85630
* Makefile.am (CHECK_ENV): Set GOCACHE.
(ECHO_ENV): Update for setting of GOCACHE.
* Makefile.in: Rebuild.

Modified:
branches/gcc-8-branch/gotools/ChangeLog
branches/gcc-8-branch/gotools/Makefile.am
branches/gcc-8-branch/gotools/Makefile.in

[Bug go/85630] GCC 8.1.0: Filesystem pollution during build: .cache dir in $HOME

2018-05-04 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85630

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri May  4 16:23:51 2018
New Revision: 259937

URL: https://gcc.gnu.org/viewcvs?rev=259937=gcc=rev
Log:
PR go/85630
* Makefile.am (CHECK_ENV): Set GOCACHE.
(ECHO_ENV): Update for setting of GOCACHE.
* Makefile.in: Rebuild.

Modified:
trunk/gotools/ChangeLog
trunk/gotools/Makefile.am
trunk/gotools/Makefile.in

[Bug go/85429] Several gotools tests FAIL with Solaris as

2018-05-01 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85429

--- Comment #11 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue May  1 14:08:44 2018
New Revision: 259797

URL: https://gcc.gnu.org/viewcvs?rev=259797=gcc=rev
Log:
PR go/85429
cmd/go: support more Solaris assembler syntaxes

Patch by Rainer Orth.

Reviewed-on: https://go-review.googlesource.com/110563

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/cmd/go/internal/work/buildid.go

[Bug go/85429] Several gotools tests FAIL with Solaris as

2018-04-27 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85429

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Apr 27 18:44:28 2018
New Revision: 259721

URL: https://gcc.gnu.org/viewcvs?rev=259721=gcc=rev
Log:
PR go/85429
cmd/go: add Solaris assembler syntax for gccgo buildid file

The Solaris assembler uses a different syntax for section directives.

This is https://golang.org/cl/109140 ported over to gccgo.

Reviewed-on: https://go-review.googlesource.com/109141

Modified:
branches/gcc-8-branch/libgo/go/cmd/go/internal/work/buildid.go

[Bug go/85429] Several gotools tests FAIL with Solaris as

2018-04-27 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85429

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Apr 27 18:01:00 2018
New Revision: 259719

URL: https://gcc.gnu.org/viewcvs?rev=259719=gcc=rev
Log:
PR go/85429
cmd/go: add Solaris assembler syntax for gccgo buildid file

The Solaris assembler uses a different syntax for section directives.

This is https://golang.org/cl/109140 ported over to gccgo.

Reviewed-on: https://go-review.googlesource.com/109141

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/cmd/go/internal/work/buildid.go

[Bug go/84484] libgo configure tests fail to find -latomic

2018-02-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84484

--- Comment #17 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Feb 22 19:49:04 2018
New Revision: 257914

URL: https://gcc.gnu.org/viewcvs?rev=257914=gcc=rev
Log:
PR go/84484
libgo: add support for riscv64

Patch by Andreas Schwab.

Reviewed-on: https://go-review.googlesource.com/96377

* go.test/go-test.exp (go-set-goarch): Recognize riscv64-*-*.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/go.test/go-test.exp
trunk/libgo/configure
trunk/libgo/configure.ac
trunk/libgo/go/cmd/cgo/main.go
trunk/libgo/go/go/build/syslist.go
trunk/libgo/go/internal/syscall/unix/getrandom_linux_generic.go
trunk/libgo/go/runtime/hash64.go
trunk/libgo/go/runtime/lfstack_64bit.go
trunk/libgo/go/runtime/unaligned1.go
trunk/libgo/go/syscall/endian_little.go
trunk/libgo/go/syscall/libcall_linux_ustat.go
trunk/libgo/goarch.sh
trunk/libgo/match.sh
trunk/libgo/misc/cgo/testcshared/src/libgo2/dup2.go
trunk/libgo/misc/cgo/testcshared/src/libgo2/dup3.go
trunk/libgo/testsuite/gotest

[Bug go/84215] Random results in go/libgo tests

2018-02-12 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84215

--- Comment #6 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Feb 12 18:50:16 2018
New Revision: 257599

URL: https://gcc.gnu.org/viewcvs?rev=257599=gcc=rev
Log:
PR go/84215
runtime, sync/atomic: use write barrier for atomic pointer functions

This copies atomic_pointer.go from 1.10rc2.  It was omitted during the
transition of the runtime from C to Go, and I forgot about it.

This may help with https://gcc.gnu.org/PR84215.

Reviewed-on: https://go-review.googlesource.com/93197

Added:
trunk/libgo/go/runtime/atomic_pointer.go
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/stubs.go
trunk/libgo/go/sync/atomic/atomic.c

[Bug other/68239] libbacktrace allocation is sometimes very slow

2018-01-24 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68239

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jan 25 02:24:45 2018
New Revision: 257039

URL: https://gcc.gnu.org/viewcvs?rev=257039=gcc=rev
Log:
PR other/68239
* mmap.c (backtrace_free_locked): Don't put more than 16 entries
on the free list.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/mmap.c

[Bug go/83787] [8 regression] Many 32-bit Solaris/SPARC Go tests FAIL after Go1.10beta1 update

2018-01-17 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83787

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jan 18 04:24:48 2018
New Revision: 256835

URL: https://gcc.gnu.org/viewcvs?rev=256835=gcc=rev
Log:
PR go/83787
compiler: pass int to makechan, call makechan64 when appropriate

The update to 1.10beta1 changed makechan to take int instead of int64,
and added a makechan64 call for large values.  Since the size is the
last argument to makechan, the old compiler which always passed a
64-bit int worked fine on 64-bit systems and little-endian 32-bit
systems, but broke on big-endian 32-bit systems.  This CL fixes the
compiler to use the appropriate types.

This fixes GCC PR 83787.

Reviewed-on: https://go-review.googlesource.com/88077

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/escape.cc
trunk/gcc/go/gofrontend/expressions.cc
trunk/gcc/go/gofrontend/runtime.def
trunk/libgo/go/runtime/chan.go

[Bug go/83794] misc/cgo/test uses gigabytes of memory

2018-01-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83794

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jan 11 19:58:55 2018
New Revision: 256553

URL: https://gcc.gnu.org/viewcvs?rev=256553=gcc=rev
Log:
PR go/83794
misc/cgo/test: avoid endless loop when we can't parse notes

Reviewed-on: https://go-review.googlesource.com/87416

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/misc/cgo/test/buildid_linux.go

[Bug c/82922] Request: add -Wstrict-prototypes to -Wextra as K style is obsolescent

2018-01-10 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82922

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Jan 10 15:42:23 2018
New Revision: 256437

URL: https://gcc.gnu.org/viewcvs?rev=256437=gcc=rev
Log:
PR c/82922

runtime, syscall: use full prototypes in C code

Based on patch by Martin Sebor.

Reviewed-on: https://go-review.googlesource.com/86815

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/syscall/errno.c
trunk/libgo/runtime/go-now.c
trunk/libgo/runtime/go-runtime-error.c
trunk/libgo/runtime/proc.c
trunk/libgo/runtime/runtime.h

[Bug target/83100] [8 Regression] powerpc: internal compiler error: in get_variable_section, at varasm.c:1150 with -fdata-sections

2017-11-29 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83100

--- Comment #10 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Nov 30 05:03:29 2017
New Revision: 255266

URL: https://gcc.gnu.org/viewcvs?rev=255266=gcc=rev
Log:
compiler: don't make map zero value constant

The map zero value is a common symbol, and it doesn't really make
sense to have a constant common symbol. Current GCC has started to
reject this case, probably as part of the fix for PR 83100.

Reviewed-on: https://go-review.googlesource.com/80877

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/types.cc

[Bug go/83102] [8 Regression] go bootstrap error in ast-dump.cc due to __is_invocable failure

2017-11-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83102

--- Comment #8 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Nov 22 15:18:43 2017
New Revision: 255062

URL: https://gcc.gnu.org/viewcvs?rev=255062=gcc=rev
Log:
compiler: make comparison operator() methods const

This is required for new versions of libstdc++ in C++17 mode.

Fixes GCC PR 83102.

Reviewed-on: https://go-review.googlesource.com/79396

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/gogo.h
trunk/gcc/go/gofrontend/parse.cc
trunk/gcc/go/gofrontend/parse.h

[Bug go/83071] gccgo: ICE in set_type

2017-11-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83071

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Nov 21 06:14:32 2017
New Revision: 254983

URL: https://gcc.gnu.org/viewcvs?rev=254983=gcc=rev
Log:
compiler: report error for ++/-- applied to a non-numeric type

This avoids a compiler crash.

Fixes GCC PR 83071.

Reviewed-on: https://go-review.googlesource.com/78875

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/statements.cc

[Bug go/82559] [7 Regression] libgo bootstrap broken on at least alpha, s390x

2017-10-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82559

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Sun Oct 15 19:45:33 2017
New Revision: 253770

URL: https://gcc.gnu.org/viewcvs?rev=253770=gcc=rev
Log:
PR go/82559
Backport from mainline:
https://golang.org/cl/46712
https://golang.org/cl/46839

Modified:
branches/gcc-7-branch/libgo/go/syscall/syscall_linux_alpha.go
branches/gcc-7-branch/libgo/go/syscall/syscall_linux_s390.go
branches/gcc-7-branch/libgo/go/syscall/syscall_linux_s390x.go
branches/gcc-7-branch/libgo/mksysinfo.sh

[Bug go/80914] gcc-go binaries don't run

2017-10-10 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80914

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Oct 10 16:55:04 2017
New Revision: 253594

URL: https://gcc.gnu.org/viewcvs?rev=253594=gcc=rev
Log:
PR go/80914
* elf.c (SHF_COMPRESSED): Define.
(elf_add): Ignore debug sections with SHF_COMPRESSED set.

Modified:
branches/gcc-7-branch/libbacktrace/ChangeLog
branches/gcc-7-branch/libbacktrace/elf.c

[Bug other/67165] please enable libbacktrace to work with compressed debug sections

2017-09-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67165

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Sep 29 00:30:35 2017
New Revision: 253275

URL: https://gcc.gnu.org/viewcvs?rev=253275=gcc=rev
Log:
PR other/67165
* elf.c (__builtin_prefetch): Define if not __GNUC__.
(unlikely): Define.
(SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define.
(b_elf_chdr): Define type.
(enum debug_section): Add ZDEBUG_xxx values.
(debug_section_names): Add names for new sections.
(struct debug_section_info): Add compressed field.
(elf_zlib_failed, elf_zlib_fetch): New static functions.
(HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define.
(HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define.
(HUFFMAN_SECONDARY_SHIFT): Define.
(ZDEBUG_TABLE_SIZE): Define.
(ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define.
(final_next_secondary): New static variable if
BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE.
(elf_zlib_inflate_table): New static function.
(BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main
function to produce fixed Huffman table.
(elf_zlib_default_table): New static variable.
(elf_zlib_inflate): New static function.
(elf_zlib_verify_checksum): Likewise.
(elf_zlib_inflate_and_verify): Likewise.
(elf_uncompress_zdebug): Likewise.
(elf_uncompress_chdr): Likewise.
(backtrace_uncompress_zdebug): New extern function.
(elf_add): Look for .zdebug sections and SHF_COMPRESSED debug
sections, and uncompress them.
* internal.h (backtrace_compress_zdebug): Declare.
* ztest.c: New file.
* configure.ac: Check for -lz and check whether the linker
supports --compress-debug-sections.
* Makefile.am (ztest_SOURCES): New variable.
(ztest_CFLAGS, ztest_LDADD): New variables.
(check_PROGRAMS): Add ztest.
(ctestg_SOURCES): New variable.
(ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables.
(ctesta_SOURCES): New variable.
(ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables.
(check_PROGRAMS): Add ctestg and ctesta.
* configure, config.h.in, Makefile.in: Rebuild.

Added:
trunk/libbacktrace/ztest.c
Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/Makefile.am
trunk/libbacktrace/Makefile.in
trunk/libbacktrace/config.h.in
trunk/libbacktrace/configure
trunk/libbacktrace/configure.ac
trunk/libbacktrace/elf.c
trunk/libbacktrace/internal.h

[Bug sanitizer/77631] no symbols in backtrace shown by ASan when debug info is split

2017-09-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77631

--- Comment #16 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Sep 22 13:38:10 2017
New Revision: 253095

URL: https://gcc.gnu.org/viewcvs?rev=253095=gcc=rev
Log:
PR sanitizer/77631
* configure.ac: Check for lstat and readlink.
* elf.c (lstat, readlink): Provide dummy versions if real versions
are not available.
* configure, config.h.in: Rebuild.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/config.h.in
trunk/libbacktrace/configure
trunk/libbacktrace/configure.ac
trunk/libbacktrace/elf.c

[Bug go/82284] [7 Regression] go -version segfaults on big endian architectures

2017-09-21 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82284

--- Comment #6 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Sep 21 18:44:39 2017
New Revision: 253078

URL: https://gcc.gnu.org/viewcvs?rev=253078=gcc=rev
Log:
PR go/82284
* elf.c (backtrace_initialize): Set pd.exe_filename.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/elf.c

[Bug sanitizer/77631] no symbols in backtrace shown by ASan when debug info is split

2017-09-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77631

--- Comment #13 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Sep 20 21:09:37 2017
New Revision: 253032

URL: https://gcc.gnu.org/viewcvs?rev=253032=gcc=rev
Log:
PR sanitizer/77631
Support for external debug info.
* elf.c: Include , , .
(S_ISLNK): Define if not defined.
(xstrnlen): Define if strnlen is not available.
(b_elf_note): Define type.
(NT_GNU_BUILD_ID): Define macro.
(elf_crc32, elf_crc32_file): New static functions.
(elf_is_symlink, elf_readlink): New static functions.
(elf_open_debugfile_by_buildid): New static function.
(elf_try_debugfile): New static function.
(elf_find_debugfile_by_debuglink): New static function.
(elf_open_debugfile_by_debuglink): New static function.
(elf_add): Add filename and debuginfo parameters.  Adjust all
callers.  Look for external debug info notes, and try to fetch
debug info from external file.
(struct phdr_data): Add exe_filename field.
(phdr_callback): Pass filename to elf_add.
(backtrace_initialize): Add filename parameter.
* internal.h (backtrace_initialize): Add filename parameter.
* fileline.c (fileline_initialize): Pass filename to
backtrace_initialize.
* pecoff.c (fileline_initialize): Add unused filename parameter.
* unknown.c (fileline_initialize): Likewise.
* xcoff.c (fileline_initialize): Likewise.
* configure.ac: Check for objcopy --add-gnu-debuglink.
* Makefile.am (dtest): New test target.
* configure, Makefile.in: Rebuild.

Modified:
trunk/libbacktrace/ChangeLog
trunk/libbacktrace/Makefile.am
trunk/libbacktrace/Makefile.in
trunk/libbacktrace/configure
trunk/libbacktrace/configure.ac
trunk/libbacktrace/elf.c
trunk/libbacktrace/fileline.c
trunk/libbacktrace/internal.h
trunk/libbacktrace/pecoff.c
trunk/libbacktrace/unknown.c
trunk/libbacktrace/xcoff.c

[Bug go/81893] [8 regression] compilation error in libgo starting with r251127

2017-08-18 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81893

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Aug 18 20:17:26 2017
New Revision: 251188

URL: https://gcc.gnu.org/viewcvs?rev=251188=gcc=rev
Log:
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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/runtime/go-signal.c

[Bug go/81617] mksigtab.sh fails to resolve NSIG with glibc 2.26

2017-08-04 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81617

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Aug  4 12:29:55 2017
New Revision: 250872

URL: https://gcc.gnu.org/viewcvs?rev=250872=gcc=rev
Log:
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

Modified:
branches/gcc-7-branch/libgo/mksigtab.sh

[Bug go/81617] mksigtab.sh fails to resolve NSIG with glibc 2.26

2017-08-03 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81617

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Aug  3 18:09:12 2017
New Revision: 250858

URL: https://gcc.gnu.org/viewcvs?rev=250858=gcc=rev
Log:
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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/mksigtab.sh

[Bug go/81548] "make distclean" does not clean all of gotools/

2017-07-26 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81548

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Jul 26 22:01:36 2017
New Revision: 250593

URL: https://gcc.gnu.org/viewcvs?rev=250593=gcc=rev
Log:
PR go/81548
* Makefile.am (MOSTLYCLEANFILES): Add *.sent.
* Makefile.in: Rebuild.

Modified:
trunk/gotools/ChangeLog
trunk/gotools/Makefile.am
trunk/gotools/Makefile.in

[Bug go/81393] Bootstrap failure on s390x-linux while building libgo against recent glibc

2017-07-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81393

--- Comment #17 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jul 20 22:03:48 2017
New Revision: 250403

URL: https://gcc.gnu.org/viewcvs?rev=250403=gcc=rev
Log:
PR go/81393
syscall: don't use GETREGS/SETREGS on s390

They were removed in recent glibc.

This is a backport of https://golang.org/cl/48231 to earlier branches.
Define required type and constants in syscall package directly, don't
try to pull them from the system header files.

Modified:
branches/gcc-6-branch/libgo/go/syscall/syscall_linux_s390.go
branches/gcc-6-branch/libgo/go/syscall/syscall_linux_s390x.go

[Bug go/81393] Bootstrap failure on s390x-linux while building libgo against recent glibc

2017-07-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81393

--- Comment #18 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jul 20 22:04:02 2017
New Revision: 250404

URL: https://gcc.gnu.org/viewcvs?rev=250404=gcc=rev
Log:
PR go/81393
syscall: don't use GETREGS/SETREGS on s390

They were removed in recent glibc.

This is a backport of https://golang.org/cl/48231 to earlier branches.
Define required type and constants in syscall package directly, don't
try to pull them from the system header files.

Modified:
branches/gcc-5-branch/libgo/go/syscall/syscall_linux_s390.go
branches/gcc-5-branch/libgo/go/syscall/syscall_linux_s390x.go

[Bug go/81393] Bootstrap failure on s390x-linux while building libgo against recent glibc

2017-07-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81393

--- Comment #16 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jul 20 22:03:26 2017
New Revision: 250402

URL: https://gcc.gnu.org/viewcvs?rev=250402=gcc=rev
Log:
PR go/81393
syscall: don't use GETREGS/SETREGS on s390

They were removed in recent glibc.

This is a backport of https://golang.org/cl/48231 to earlier branches.
Define required type and constants in syscall package directly, don't
try to pull them from the system header files.

Modified:
branches/gcc-7-branch/libgo/go/syscall/syscall_linux_s390.go
branches/gcc-7-branch/libgo/go/syscall/syscall_linux_s390x.go

[Bug go/81451] missing futex check - libgo/runtime/thread-linux.c:12:0 futex.h:13:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘long’

2017-07-18 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81451

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jul 18 23:14:29 2017
New Revision: 250326

URL: https://gcc.gnu.org/viewcvs?rev=250326=gcc=rev
Log:
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

Removed:
trunk/libgo/runtime/thread-linux.c
trunk/libgo/runtime/thread-sema.c
Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in
trunk/libgo/go/runtime/stubs.go
trunk/libgo/runtime/go-libmain.c
trunk/libgo/runtime/go-main.c
trunk/libgo/runtime/proc.c
trunk/libgo/runtime/runtime.h

[Bug go/81324] libgo does not build with glibc 2.18

2017-07-18 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81324

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jul 18 22:06:31 2017
New Revision: 250324

URL: https://gcc.gnu.org/viewcvs?rev=250324=gcc=rev
Log:
PR go/81324
sysinfo.c: ignore ptrace_peeksiginfo_args from 

With some versions of glibc and GNU/Linux ptrace_pseeksiginfo_args is
defined in both  and . 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

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/sysinfo.c

[Bug go/81393] Bootstrap failure on s390x-linux while building libgo against recent glibc

2017-07-12 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81393

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Jul 13 03:44:14 2017
New Revision: 250174

URL: https://gcc.gnu.org/viewcvs?rev=250174=gcc=rev
Log:
PR go/81393
syscall: don't use GETREGS/SETREGS on s390

They were removed in recent glibc.

Patch by Andreas Krebbel for GCC PR 81393.

Reviewed-on: https://go-review.googlesource.com/48231

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/syscall/syscall_linux_s390.go
trunk/libgo/go/syscall/syscall_linux_s390x.go

[Bug go/80964] cross-gotools are not executable on host system

2017-06-13 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80964

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jun 13 19:56:45 2017
New Revision: 249172

URL: https://gcc.gnu.org/viewcvs?rev=249172=gcc=rev
Log:
PR go/80964
* configure.ac: Set NATIVE if host_alias = target_alias.
* configure: Rebuild.

Modified:
trunk/gotools/ChangeLog
trunk/gotools/configure
trunk/gotools/configure.ac

[Bug go/80814] [7 Regression] commit aa443150c83535fedccb3dee80daa7e01fafd92d causes a build error.

2017-05-18 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80814

--- Comment #6 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu May 18 22:44:12 2017
New Revision: 248255

URL: https://gcc.gnu.org/viewcvs?rev=248255=gcc=rev
Log:
PR go/80814
* Makefile.am (AM_GOCFLAGS): Define.
* Makefile.in: Rebuild.

Modified:
trunk/gotools/ChangeLog
trunk/gotools/Makefile.am
trunk/gotools/Makefile.in

[Bug go/64238] ICE in get_partitioning_class, at symtab.c:1775

2017-05-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64238

--- Comment #11 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu May 11 23:53:29 2017
New Revision: 247939

URL: https://gcc.gnu.org/viewcvs?rev=247939=gcc=rev
Log:
PR go/64238
* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
DECL_EXTERNAL, clear TREE_STATIC.

Modified:
branches/gcc-6-branch/gcc/go/ChangeLog
branches/gcc-6-branch/gcc/go/go-gcc.cc

[Bug go/64238] ICE in get_partitioning_class, at symtab.c:1775

2017-05-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64238

--- Comment #10 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu May 11 23:53:13 2017
New Revision: 247938

URL: https://gcc.gnu.org/viewcvs?rev=247938=gcc=rev
Log:
PR go/64238
* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
DECL_EXTERNAL, clear TREE_STATIC.

Modified:
branches/gcc-7-branch/gcc/go/ChangeLog
branches/gcc-7-branch/gcc/go/go-gcc.cc

[Bug go/64238] ICE in get_partitioning_class, at symtab.c:1775

2017-05-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64238

--- Comment #9 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu May 11 23:52:54 2017
New Revision: 247937

URL: https://gcc.gnu.org/viewcvs?rev=247937=gcc=rev
Log:
PR go/64238
* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
DECL_EXTERNAL, clear TREE_STATIC.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug go/77857] gccgo: vendoring doesn't work in gcc 6/7

2017-04-11 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77857

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Apr 12 04:26:15 2017
New Revision: 246864

URL: https://gcc.gnu.org/viewcvs?rev=246864=gcc=rev
Log:
PR go/77857
cmd/go: generate vendor paths for -I arg on compile

This change generates the vendor path to be used with -I
on a gccgo compile to find imports from the vendor directories.

Fixes golang/go#15628

Reviewed-on: https://go-review.googlesource.com/39590

Modified:
trunk/libgo/go/cmd/go/build.go

[Bug go/80302] FAIL: time on systems with tzdata2017b installed

2017-04-04 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80302

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Apr  4 19:37:22 2017
New Revision: 246695

URL: https://gcc.gnu.org/viewcvs?rev=246695=gcc=rev
Log:
PR go/80302
time: make the ParseInLocation test more robust

This is a backport of https://golang.org/cl/37964 from the gc toolchain.

Original description:

The tzdata 2017a update (2017-02-28) changed the abbreviation of the
Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the
numeric '+03'.

Update the test so that it skips the checks if we're using a recent
tzdata release.

Updates golang/go#19457
Fixes GCC PR 80302.

Reviewed-on: https://go-review.googlesource.com/39470

Modified:
trunk/libgo/go/time/format_test.go

[Bug go/80226] ICE gimple-expr.c:474 on Go function returning multiple empty struct/array values

2017-03-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80226

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Mar 28 20:08:31 2017
New Revision: 246553

URL: https://gcc.gnu.org/viewcvs?rev=246553=gcc=rev
Log:
PR go/80226
* go-gcc.cc (Gcc_backend::return_statement): Check for
void_type_node when checking result size.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug go/80128] [7 regression] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:2002

2017-03-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80128

--- Comment #7 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Mar 22 13:59:01 2017
New Revision: 246382

URL: https://gcc.gnu.org/viewcvs?rev=246382=gcc=rev
Log:
PR go/80128
compiler: check backend alignment for memequalNN functions

The code was assuming the usual required alignment for the memequalNN
functions (16 bits for int16, 32 for int32, etc.). However, on m68k
the required alignment of int32 is only 16 bits. Assuming the
memequalNN alignment caused the compiler to incorrectly decide that
int32 required a specially generated function rather than calling
memequal32. This then crashed if the type descriptor were generated
after type-specific functions had been written.

Fixes GCC PR 80128.

Reviewed-on: https://go-review.googlesource.com/38433

Modified:
trunk/gcc/go/gofrontend/types.cc
trunk/gcc/go/gofrontend/types.h

[Bug go/79642] space instead of tab in lang.opt

2017-02-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79642

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Feb 21 00:23:52 2017
New Revision: 245619

URL: https://gcc.gnu.org/viewcvs?rev=245619=gcc=rev
Log:
PR go/79642
* lang.opt (-fgo-relative-import-path): Change space to tab.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/lang.opt

[Bug go/79443] libgo/math test fails on s390x (undefined symbols cosh, sinh, tanh, hasVX)

2017-02-13 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79443

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Feb 13 17:37:02 2017
New Revision: 245397

URL: https://gcc.gnu.org/viewcvs?rev=245397=gcc=rev
Log:
PR go/79443
libgo: fix some s390x tests

Add `+build ignore` to ignore tests that rely on s390x assembly code
not yet implemented for gccgo.

Fixes GCC PR 79443.

Reviewed-on: https://go-review.googlesource.com/36909

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/crypto/sha256/fallback_test.go
trunk/libgo/go/math/export_s390x_test.go

[Bug go/79037] gccgo: Binaries crash with parforsetup: pos is not aligned on m68k

2017-02-01 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79037

--- Comment #14 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb  1 23:35:59 2017
New Revision: 245110

URL: https://gcc.gnu.org/viewcvs?rev=245110=gcc=rev
Log:
PR go/79037
Backport from mainline:

compiler, runtime: align gc data for m68k

The current GC requires that the gc data be aligned to at least a 4
byte boundary, because it uses the lower two bits of the address for
flags (see LOOP and PRECISE in runtime/mgc0.c).  As the gc data is
stored as a [...]uintptr, that is normally always true.  However, on
m68k, that only guarantees 2 byte alignment.  Fix it by forcing the
alignment.

The parfor code used by the current GC requires that the parfor data
be aligned to at least an 8 byte boundary.  The code in parfor.c
verifies this.  This is normally true, as the data uses uint64_t
values, but, again, this must be enforced explicitly on m68k.

Fixes GCC PR 79037.

Change-Id: Ifdf422db7b37e88f490e54c2f6d249117d359dd6

Modified:
branches/gcc-6-branch/gcc/go/gofrontend/types.cc
branches/gcc-6-branch/libgo/runtime/go-unsafe-pointer.c
branches/gcc-6-branch/libgo/runtime/parfor.c
branches/gcc-6-branch/libgo/runtime/runtime.h

[Bug go/79281] gccgo: Binaries using goroutines crash on m68k

2017-02-01 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79281

--- Comment #10 from ian at gcc dot gnu.org  ---
Author: ian
Date: Wed Feb  1 22:58:43 2017
New Revision: 245109

URL: https://gcc.gnu.org/viewcvs?rev=245109=gcc=rev
Log:
PR go/79281

Force Lock and Note to be aligned to a 4 byte boundary.  This is
required by the kernel but is not enforced on m68k.

Patch by John Paul Adrian Glaubitz.

Modified:
branches/gcc-6-branch/libgo/runtime/runtime.h

[Bug debug/79289] DWARF info for typeof of C function with no args and no prototype is empty pointer

2017-01-30 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79289

--- Comment #3 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Jan 30 22:26:26 2017
New Revision: 245039

URL: https://gcc.gnu.org/viewcvs?rev=245039=gcc=rev
Log:
PR debug/79289
* dwarf2out.c (gen_type_die_with_usage): When picking a variant
for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c

[Bug go/78763] go1: internal compiler error: in do_get_backend, at go/gofrontend/expressions.cc:8352

2017-01-23 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78763

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jan 24 03:34:14 2017
New Revision: 244852

URL: https://gcc.gnu.org/viewcvs?rev=244852=gcc=rev
Log:
PR go/78763

Backported from mainline:

compiler: call determine_types even for constant expressions

We need to call determine_types even for constant expressions, since a
constant expression may include code like unsafe.Sizeof(0).  Something
needs to determine the type of the untyped 0, and that should be the
determine_types pass.

Implementing that triggered a compiler crash on test/const1.go because
it permitted some erroneous constants to make it all the way to the
backend.  Catch that case by checking whether we get a constant
overflow error, and marking the expression invalid if we do.  This is
a good change in any case, as previously we reported the same constant
overflow error multiple times, and now we only report it once.

Fixes GCC PR 78763.

Reviewed-on: https://go-review.googlesource.com/34496

Modified:
branches/gcc-6-branch/gcc/go/gofrontend/expressions.cc
branches/gcc-6-branch/gcc/go/gofrontend/expressions.h

[Bug go/79037] gccgo: Binaries crash with parforsetup: pos is not aligned on m68k

2017-01-23 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79037

--- Comment #12 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Jan 23 18:15:22 2017
New Revision: 244824

URL: https://gcc.gnu.org/viewcvs?rev=244824=gcc=rev
Log:
PR go/79037
compiler, runtime: align gc data for m68k

The current GC requires that the gc data be aligned to at least a 4
byte boundary, because it uses the lower two bits of the address for
flags (see LOOP and PRECISE in runtime/mgc0.c).  As the gc data is
stored as a [...]uintptr, that is normally always true.  However, on
m68k, that only guarantees 2 byte alignment.  Fix it by forcing the
alignment.

The parfor code used by the current GC requires that the parfor data
be aligned to at least an 8 byte boundary.  The code in parfor.c
verifies this.  This is normally true, as the data uses uint64_t
values, but, again, this must be enforced explicitly on m68k.

Fixes GCC PR 79037.

Reviewed-on: https://go-review.googlesource.com/35478

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/types.cc
trunk/libgo/runtime/go-unsafe-pointer.c
trunk/libgo/runtime/parfor.c
trunk/libgo/runtime/runtime.h

[Bug go/79146] [7 Regression] Bootstrapping go on s390x fails; redefined symbols

2017-01-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79146

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Jan 20 20:39:10 2017
New Revision: 244731

URL: https://gcc.gnu.org/viewcvs?rev=244731=gcc=rev
Log:
PR go/79146
math/big: fix build on s390x

Don't build arith_decl_s390x.go for gccgo; it is only for assembly
code that has not yet been ported to gccgo.

For GCC PR 79146.

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/math/big/arith_decl_s390x.go

[Bug go/79146] [7 Regression] Bootstrapping go on s390x fails; redefined symbols

2017-01-19 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79146

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Jan 20 02:27:46 2017
New Revision: 244679

URL: https://gcc.gnu.org/viewcvs?rev=244679=gcc=rev
Log:
PR go/79146
crypto/elliptic: explicitly ignore p256_s390x.go

The file only works if used in conjunction with assembly code not
(yet) written for gccgo.

Fixes GCC PR 79146.

Reviewed-on: https://go-review.googlesource.com/35477

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/crypto/elliptic/p256_s390x.go

[Bug go/78978] [7 regression] runtime/pprof FAILs on Solaris 2/x86

2017-01-06 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78978

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Jan  6 16:04:01 2017
New Revision: 244165

URL: https://gcc.gnu.org/viewcvs?rev=244165=gcc=rev
Log:
PR go/78978
libgo: build with -Wa,-nH if possible on Solaris

By default the Solaris assembler records the required hardware
capability in the object file.  This means that the AES hashing code
breaks on systems that do not support AES, even though the code uses a
runtime check to only actually invoke the AES instructions on systems
that support it.  An earlier fix for the problem only fixed the shared
library, not the static libgo.a.  Fix the problem for real by using an
assembler option to not record the hardware capability.

For GCC PR 78978.

Patch by Rainer Orth.

Reviewed-on: https://go-review.googlesource.com/34910

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in
trunk/libgo/configure
trunk/libgo/configure.ac
trunk/libgo/testsuite/Makefile.in

[Bug go/78789] Error: no such instruction: `aesenc %xmm0,%xmm2' when compiling libgo/runtime/aeshash.c

2017-01-03 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78789

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Jan  3 20:41:54 2017
New Revision: 244031

URL: https://gcc.gnu.org/viewcvs?rev=244031=gcc=rev
Log:
PR go/78789
runtime: don't build aeshash.c if the assembler doesn't support it

This is for CentOS 5, whose assembler does not know the aesinc
instruction.

Fixes GCC PR 78789.

Patch by Uros Bizjak.

Reviewed-on: https://go-review.googlesource.com/34796

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/config.h.in
trunk/libgo/configure
trunk/libgo/configure.ac
trunk/libgo/go/runtime/alg.go
trunk/libgo/go/runtime/runtime2.go
trunk/libgo/go/runtime/stubs.go
trunk/libgo/runtime/aeshash.c
trunk/libgo/runtime/runtime.h
trunk/libgo/runtime/runtime_c.c

[Bug go/78763] go1: internal compiler error: in do_get_backend, at go/gofrontend/expressions.cc:8352

2016-12-15 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78763

--- Comment #9 from ian at gcc dot gnu.org  ---
Author: ian
Date: Thu Dec 15 22:47:43 2016
New Revision: 243729

URL: https://gcc.gnu.org/viewcvs?rev=243729=gcc=rev
Log:
PR go/78763
compiler: call determine_types even for constant expressions

We need to call determine_types even for constant expressions, since a
constant expression may include code like unsafe.Sizeof(0).  Something
needs to determine the type of the untyped 0, and that should be the
determine_types pass.

Implementing that triggered a compiler crash on test/const1.go because
it permitted some erroneous constants to make it all the way to the
backend.  Catch that case by checking whether we get a constant
overflow error, and marking the expression invalid if we do.  This is
a good change in any case, as previously we reported the same constant
overflow error multiple times, and now we only report it once.

Fixes GCC PR 78763.

Reviewed-on: https://go-review.googlesource.com/34496

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/expressions.cc
trunk/gcc/go/gofrontend/expressions.h

[Bug go/78431] [7 regression] ICE in go_append_padding, at godump.c:636

2016-11-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78431

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Nov 22 23:25:07 2016
New Revision: 242728

URL: https://gcc.gnu.org/viewcvs?rev=242728=gcc=rev
Log:
PR go/78431
PR go/78432
* godump.c (go_format_type): Always pass alignment as 1 when
calling go_append_padding at end of struct/union.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/godump.c

[Bug go/78432] [7 Regression] -fdump-go-spec ICEs for aligned causing x32 libgo library to fail to build

2016-11-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78432

--- Comment #4 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Nov 22 23:25:07 2016
New Revision: 242728

URL: https://gcc.gnu.org/viewcvs?rev=242728=gcc=rev
Log:
PR go/78431
PR go/78432
* godump.c (go_format_type): Always pass alignment as 1 when
calling go_append_padding at end of struct/union.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/godump.c

[Bug go/77910] [7 Regression] go: open zversion.go: no such file or directory

2016-11-22 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77910

--- Comment #8 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Nov 22 21:04:27 2016
New Revision: 242724

URL: https://gcc.gnu.org/viewcvs?rev=242724=gcc=rev
Log:
PR go/77910
cmd/go: don't check standard packages when using gccgo

This copies https://golang.org/cl/33295 to libgo.

This fixes GCC PR 77910.

Reviewed-on: https://go-review.googlesource.com/33471

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/cmd/go/pkg.go

[Bug go/78172] gen-sysinfo.go vs AIX cred.h

2016-11-04 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78172

--- Comment #10 from ian at gcc dot gnu.org  ---
Author: ian
Date: Sat Nov  5 00:21:33 2016
New Revision: 241868

URL: https://gcc.gnu.org/viewcvs?rev=241868=gcc=rev
Log:
PR go/78172.
libgo: avoid confusion in upcase_fields in mksysinfo.sh

The mksysinfo.sh script could get confused when there were multiple
types starting with the same name.  I believe this is the underlying
cause of GCC PR 78172.

Also redirect a grep to /dev/null to avoid extraneous messages during
the build.

Reviewed-on: https://go-review.googlesource.com/32821

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/mksysinfo.sh

[Bug go/78145] Several go.test tests fail with error: integer constant overflow on 32bit targets

2016-11-01 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78145

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Nov  1 13:46:10 2016
New Revision: 241740

URL: https://gcc.gnu.org/viewcvs?rev=241740=gcc=rev
Log:
PR go/78145
compiler: don't put print/println constants into temporaries

It's not necessary, and it breaks setting their type to int64/uint64
when appropriate.

This fixes GCC PR 78145.

Reviewed-on: https://go-review.googlesource.com/32475

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/expressions.cc

[Bug go/78144] FAIL: time on systems with tzdata2016g installed

2016-10-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78144

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Oct 28 20:22:10 2016
New Revision: 241662

URL: https://gcc.gnu.org/viewcvs?rev=241662=gcc=rev
Log:
PR go/78144
libgo: incorporate fix for timezone test

This brings over the test-only fix for issue 17276 into gccgo/libgo
(with tzdata-2016g there is a new zone abbreviation).  This is a
copy of https://golang.org/cl/29995.

Reviewed-on: https://go-review.googlesource.com/32182

Modified:
branches/gcc-6-branch/libgo/go/time/time_test.go

[Bug go/78144] FAIL: time on systems with tzdata2016g installed

2016-10-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78144

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Oct 28 20:21:52 2016
New Revision: 241661

URL: https://gcc.gnu.org/viewcvs?rev=241661=gcc=rev
Log:
PR go/78144
libgo: incorporate fix for timezone test

This brings over the test-only fix for issue 17276 into gccgo/libgo
(with tzdata-2016g there is a new zone abbreviation).  This is a
copy of https://golang.org/cl/29995.

Reviewed-on: https://go-review.googlesource.com/32182

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/time/time_test.go

[Bug go/78143] [7 Regression] bootstrap broken in libgo on powerpc-linux-gnu

2016-10-28 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78143

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Oct 28 18:57:36 2016
New Revision: 241659

URL: https://gcc.gnu.org/viewcvs?rev=241659=gcc=rev
Log:
PR go/78143
runtime: build lfstack_32bit.go on ppc

Missed a build tag.  This is GCC PR 78143.

Reviewed-on: https://go-review.googlesource.com/32295

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/go/runtime/lfstack_32bit.go

[Bug go/77809] [7 regression] "_LITTLE_ENDIAN" redefined

2016-10-03 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77809

--- Comment #5 from ian at gcc dot gnu.org  ---
Author: ian
Date: Mon Oct  3 18:39:54 2016
New Revision: 240724

URL: https://gcc.gnu.org/viewcvs?rev=240724=gcc=rev
Log:
PR go/77809

libgo: strip most C macros from runtime.inc

The Go runtime package is picking up C macros from runtime_sysinfo.go
and then re-exporting them to runtime.inc.  This can cause name
conflicts.  Change the Makefile so that we only put the macros we need
into runtime.inc.  These are the constants that are actually defined by
Go code, not runtime_sysinfo.go.  There are only a few, so we can
pattern match.

This is an additional hack on runtime.inc.  The long term goal is to
convert the runtime package to Go and eliminate runtime.inc entirely, so
a few hacks seem acceptable.

Fixes GCC PR 77809.

Reviewed-on: https://go-review.googlesource.com/30167

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/libgo/Makefile.am
trunk/libgo/Makefile.in

[Bug go/77701] suspicious code in go/go-gcc.cc

2016-09-23 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77701

--- Comment #2 from ian at gcc dot gnu.org  ---
Author: ian
Date: Fri Sep 23 17:55:53 2016
New Revision: 240451

URL: https://gcc.gnu.org/viewcvs?rev=240451=gcc=rev
Log:
PR go/77701
* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
to pass arguments in the correct order.

Modified:
trunk/gcc/go/ChangeLog
trunk/gcc/go/go-gcc.cc

[Bug go/77625] go/gofrontend/ast-dump.cc:169:42: error: ‘new’ of type ‘std::ofstr eam {aka std::basic_ofstream}’ with extended alignment 16

2016-09-20 Thread ian at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77625

--- Comment #1 from ian at gcc dot gnu.org  ---
Author: ian
Date: Tue Sep 20 17:52:23 2016
New Revision: 240279

URL: https://gcc.gnu.org/viewcvs?rev=240279=gcc=rev
Log:
PR go/77625

compiler: allocate std::ofstream as a local variable

GCC PR 77625 points out a warning about new std::ofstream.  I don't know
how that is supposed to work, but in this case the std::ofstream may as
well be a local variable anyhow.

Reviewed-on: https://go-review.googlesource.com/29435

Modified:
trunk/gcc/go/gofrontend/MERGE
trunk/gcc/go/gofrontend/ast-dump.cc

  1   2   3   4   >