libgo patch committed: Add internal/trace to noinst_DATA

2018-03-09 Thread Ian Lance Taylor
This libgo patch adds internal/trace to noinst_DATA. The internal/trace package is only imported by tests (specifically the tests in runtime/trace) so it must be in noinst_DATA to ensure that it is built before running the tests. This was mostly working because internal/trace has tests itself, an

libgo patch committed: Force LANG=C when looking for compiler version

2018-03-15 Thread Ian Lance Taylor
This libgo patch forces LANG=C when looking for the version of the C compiler. Tested by installing the gcc-locales package and running LANG=de_DE.utf8 go build hello.go Without this change, that fails, as described at GCC PR 84765. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. C

Re: libgo patch committed: Force LANG=C when looking for compiler version

2018-03-15 Thread Ian Lance Taylor
On Thu, Mar 15, 2018 at 10:10 AM, Andreas Schwab wrote: > On Mär 15 2018, Ian Lance Taylor wrote: > >> + env = append(env, "LANG=C") > > You should use LC_ALL=C instead. Does it really matter? Do you think that this approach won't work? Ian

Re: libgo patch committed: Force LANG=C when looking for compiler version

2018-03-15 Thread Ian Lance Taylor
On Thu, Mar 15, 2018 at 11:24 AM, Andreas Schwab wrote: > On Mär 15 2018, Ian Lance Taylor wrote: > >> On Thu, Mar 15, 2018 at 10:10 AM, Andreas Schwab >> wrote: >>> On Mär 15 2018, Ian Lance Taylor wrote: >>> >>>> + env = append(env, &

libgo patch committed: add missing entry to noinst_DATA

2018-03-16 Thread Ian Lance Taylor
This libgo patch adds runtime/pprof/internal/profile.gox to noinst_DATA. That package is only used by tests, so it needs to be in noinst_DATA to ensure that it is built when tests are run. It also adds noinst_DATA to CHECK_DEPS; it's not needed in practice since `make` will build noinst_DATA, but

Re: [PATCH, gotools]: Add -test.timeout to to runtime gotools tests

2018-03-21 Thread Ian Lance Taylor
On Wed, Mar 21, 2018 at 2:07 AM, Uros Bizjak wrote: > > Attached patch adds -test.timeout argument to runtime gotools test. > Without this argument, default 4 minute timeout instead of > $(GOTOOLS_TEST_TIMEOUT) is used which is way to short for slow > machines. > > Patch was tested on alphaev68-li

libgo patch committed: Don't check for a stale runtime

2018-03-26 Thread Ian Lance Taylor
The runtime tests, as expected by the gotools testsuite, check whether the runtime package is stale. The gccgo runtime package can never be stale, and checking for staleness can cause confusion if it winds up checking the gc package instead. Skip the test for gccgo. Bootstrapped and ran Go testsu

Re: [PATCH] Fix libbacktrace zdebug decompression on big endian (PR other/85161)

2018-04-04 Thread Ian Lance Taylor
On Tue, Apr 3, 2018 at 9:08 AM Jakub Jelinek wrote: > As mentioned in the PR, GCC (and clang) predefines > {__BYTE_ORDER__,__ORDER_{LITTLE,BIG,PDP}_ENDIAN__} > macros, and {,sys/,machine/}endian.h headers predefine > {,__}{BYTE_ORDER,{LITTLE,BIG,PDP}_ENDIAN} > macros (depending on which target an

Go patch committed: put type descriptor initializers in .rodata

2018-09-09 Thread Ian Lance Taylor
This patch to the Go frontend by Than McIntosh puts type descriptor initializers in the .rodata section. When creating type descriptor variables, the frontend (specifically Type::make_type_descriptor_var) invokes the immutable_struct() and immutable_struct_set_init() back end methods, so as to ins

Go patch committed: Omit a couple of write barriers

2018-09-12 Thread Ian Lance Taylor
This patch to the Go frontend omits a couple of write barriers. We omit a write barrier for s = s[0:] for a slice s. In this case the pointer is not changing and no write barrier is required. We omit a write barrier for s = append(s, v) in the case where len(s) < cap(s) (and similarly wh

libgo patch committed: Build GC roots index

2018-09-13 Thread Ian Lance Taylor
This libgo patch by Than McIntosh build a GC roots index to speed up write barrier processing in bulkBarrierPreWrite and elsewhere. The GC roots index is basically a sorted list of all roots, so as to allow more efficient lookups of gcdata structures for globals. The previous implementation worke

libgo patch committed: Avoid write barriers with traceback info

2018-09-13 Thread Ian Lance Taylor
This patch to libgo's runtime package avoids write barriers with traceback info. Unlike the gc runtime, libgo stores traceback information in location structs, which contain strings. Therefore, copying location structs around appears to require write barriers, although in fact write barriers are

Go patch committed: Implement //go:nowritebarrierrec

2018-09-13 Thread Ian Lance Taylor
The libgo runtime package uses special comments //go:nowritebarrier, //go:nowritebarrierrec, and //go:yeswritebarrierrec to record whether write barriers are permitted in a function or not. The Go frontend already implements //go:nowritebarrier, but it has been treating //go:nowritebarrierrec as e

Go patch committed: Open code select statement setup

2018-09-13 Thread Ian Lance Taylor
This patch to the Go frontend and libgo changes the compiler to open code the select statement setup, rather than calling a runtime function for each case. This is a version of a change done in the gc runtime. I'm bringing it in now to simplify upgrading libgo to the 1.11 release. Bootstrapped a

libgo patch committed: Correct counters when sweeping span

2018-09-13 Thread Ian Lance Taylor
Since the gofrontend uses conservative garbage collection on the stack, pointers that appeared dead can be revived while scanning the stack. This can cause the allocation counts seen when sweeping a span to increase. We already accept that. This patch changes the code to update the counters when

Go patch committed: Call gcWrwiteBarrier instead of writebarrierptr

2018-09-13 Thread Ian Lance Taylor
In the Go 1.11 release writebarrierptr is going away, so change the Go frontend to call gcWriteBarrier instead. We weren't using gcWriteBarrier before; adjust the implementation to use the putFast method. This revealed a problem in the kickoff function. When using cgo, kickoff can be called on t

Go patch committed: Don't use address of temporary for deferred delete

2018-09-14 Thread Ian Lance Taylor
This patch changes the Go frontend to nott use the address of a temporary for a deferred delete. This corrects the handling of a deferred delete in a loop, to not use a temporary whose value will, at deferred execution time, wind up being the last value in the loop. The test for this is TestDeferD

libgo patch committed: Correct gccgo buildid file on ARM

2018-09-14 Thread Ian Lance Taylor
This libgo patch changes the go tool to use %progbits rather than @progbits on ARM. This is necessary because gas on ARM uses @ as a comment character. This is a copy of https://golang.org/cl/135297 in the master sources. This fixes GCC PR 87260. Bootstrapped and ran Go testsuite on x86_64-pc-l

libgo patch committed: Update to 1.11 release

2018-09-24 Thread Ian Lance Taylor
uite, also included here. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian 2018-09-24 Ian Lance Taylor * 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 che

Merge from trunk to gccgo branch

2018-09-24 Thread Ian Lance Taylor
I merged trunk revision 264547 to the gccgo branch. Ian

libgo patch committed: Pass down newly built gccgo in TestScript

2018-09-25 Thread Ian Lance Taylor
This patch changes libgo so that the cmd/go TestScript test passes down the newly built gccgo in TestScript. This permits TestScript to work when gccgo is not installed. Previous testing was using a previously installed gccgo, not the newly built one. This revealed that the testing of whether an

Re: libgo patch committed: Update to 1.11 release

2018-09-25 Thread Ian Lance Taylor
On Tue, Sep 25, 2018 at 1:03 AM, Andreas Schwab wrote: > ../../../libgo/go/internal/cpu/cpu.go:21:16: error: reference to undefined > name ‘CacheLineSize’ > 21 | _[CacheLineSize]byte >|^ > ../../../libgo/go/internal/cpu/cpu.go:38:16: error: reference to undefined

Re: libgo patch committed: Update to 1.11 release

2018-09-25 Thread Ian Lance Taylor
On Tue, Sep 25, 2018 at 6:26 AM, Rainer Orth wrote: > >> /vol/gcc/src/hg/trunk/local/libgo/go/runtime/traceback_gccgo.go:151:14: >> error: reference to undefined name 'nanotime' >> 151 | waitfor = (nanotime() - gp.waitsince) / 60e9 >> | ^ >> >> and many many more instances.

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 3:54 AM, Andreas Schwab wrote: > > All execution tests are now failing with "fatal error: impossible call > to aeshashbody". Which target? Ian

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 1:38 AM, Rainer Orth wrote: > >> On Sep 24 2018, Ian Lance Taylor wrote: >> >>> * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to >>> make sure it is writable. >>> (check-go-tools): Likewise. >> >> $ m

Re: libgo patch committed: Update to 1.11 release

2018-09-26 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 12:57 AM, Uros Bizjak wrote: >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I've attached some of the more relevant directories. This >> update required some minor

Go patch committed: Fix parsing problem when package name starts with non-ASCII

2018-09-28 Thread Ian Lance Taylor
This patch to the Go frontend by Than McIntosh fixes a problem when the name of a package starts with a non-ASCII character. The function Lex::is_exported_name (which assumes that its input is a mangled name) was being called on non-mangled (raw utf-8) names in various places. In https://golang.or

Re: [PATCH] libgo: Don't assume sys.GoarchAmd64 == 64-bit pointer

2018-09-29 Thread Ian Lance Taylor
"H.J. Lu" writes: > On x86-64, sys.GoarchAmd64 == 1 for -mx32. But -mx32 has 32-bit > pointer, not 64-bit. There is > > // _64bit = 1 on 64-bit systems, 0 on 32-bit systems > _64bit = 1 << (^uintptr(0) >> 63) / 2 > > We should check both _64bit and sys.GoarchAmd64. Thanks, but I think the corr

Re: [PATCH] libgo: Don't assume sys.GoarchAmd64 == 64-bit pointer

2018-10-01 Thread Ian Lance Taylor
"H.J. Lu" writes: > On Sat, Sep 29, 2018 at 9:01 PM Ian Lance Taylor wrote: >> >> "H.J. Lu" writes: >> >> > On x86-64, sys.GoarchAmd64 == 1 for -mx32. But -mx32 has 32-bit >> > pointer, not 64-bit. There is >> > >&

Re: libgo patch committed: Update to 1.11 release

2018-10-01 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 3:54 AM, Andreas Schwab wrote: > All execution tests are now failing with "fatal error: impossible call > to aeshashbody". Thanks. Fixed by this patch, which adds AES hash code for arm64 using intrinsics. Bootstrapped and tested on x86_64-pc-linux-gnu and aarch4-unknown-

Re: libgo patch committed: Update to 1.11 release

2018-10-01 Thread Ian Lance Taylor
On Wed, Sep 26, 2018 at 7:50 AM, H.J. Lu wrote: > On Mon, Sep 24, 2018 at 2:46 PM, Ian Lance Taylor wrote: >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I&#x

Go patch committed: Use underlying type to build placeholder type for aliases

2018-10-01 Thread Ian Lance Taylor
This patch to the Go frontend by Cherry Zhang uses the underlying type to build the placeholder type for aliases. When asking for a placeholder type of an alias type, this builds a placeholder for the underlying type, instead of treating the alias as a named type and calling get_backend. The latt

Re: libgo patch committed: Update to 1.11 release

2018-10-01 Thread Ian Lance Taylor
On Mon, Oct 1, 2018 at 4:56 PM, H.J. Lu wrote: > > Compared with my patch, there are some new failures: Thanks. We probably need a patch in gcc/testsuite/go.test/go-test.exp to set goarch to amd64p32 when appropriate. Other than that there seems to be some sort of signal handling problem. Hard

Re: libgo patch committed: Update to 1.11 release

2018-10-01 Thread Ian Lance Taylor
On Mon, Oct 1, 2018 at 6:57 PM, H.J. Lu wrote: > On Mon, Oct 1, 2018 at 5:06 PM Ian Lance Taylor wrote: >> >> On Mon, Oct 1, 2018 at 4:56 PM, H.J. Lu wrote: >> > >> > Compared with my patch, there are some new failures: >> >> Thanks. We prob

Re: libgo patch committed: Update to 1.11 release

2018-10-02 Thread Ian Lance Taylor
On Fri, Sep 28, 2018 at 12:05 AM, Uros Bizjak wrote: > On Wed, Sep 26, 2018 at 9:57 AM, Uros Bizjak wrote: >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I've attached some of the more rel

Re: libgo patch committed: Update to 1.11 release

2018-10-02 Thread Ian Lance Taylor
On Fri, Sep 28, 2018 at 7:22 AM, Rainer Orth wrote: > >> I've committed a patch to update libgo to the 1.11 release. As usual >> for these updates, the patch is too large to attach to this e-mail >> message. I've attached some of the more relevant directories. This >> update required some minor

Re: libgo patch committed: Update to 1.11 release

2018-10-03 Thread Ian Lance Taylor
On Mon, Oct 1, 2018 at 5:06 PM, Ian Lance Taylor wrote: > On Mon, Oct 1, 2018 at 4:56 PM, H.J. Lu wrote: >> >> Compared with my patch, there are some new failures: > > Thanks. We probably need a patch in gcc/testsuite/go.test/go-test.exp > to set goarch to amd64p32 wh

libbacktrace patch committed: backtrace_create_state should be called once

2018-10-05 Thread Ian Lance Taylor
ntly track all memory allocations. Committed to mainline. Ian 2018-10-05 Ian Lance Taylor PR libbacktrace/87529 * backtrace.h: Document that backtrace_create_state should be called only once. Index: backtrace.h === --- backtrace.h

libgo patch committed: Remove checkgoarm function

2018-10-05 Thread Ian Lance Taylor
The checkgoarm function in libgo's runtime package is never called, and the whole point of that function is to verify a goarm variable that libgo never sets it. This patch removes the function. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

libgo patch committed: Use inline assembler for xgetbv

2018-10-05 Thread Ian Lance Taylor
This patch by Than McIntosh uses inline assembler instead of the _xgetbv intrinsic, so that libgo can be built by compilers that don't support the intrinsic. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Re: Merge from trunk to gccgo branch

2018-10-05 Thread Ian Lance Taylor
I merged trunk revision 264890 to the gccgo branch. Ian

Re: Merge from trunk to gccgo branch

2018-10-05 Thread Ian Lance Taylor
On Fri, Oct 5, 2018 at 1:13 PM, Ian Lance Taylor wrote: > I merged trunk revision 264890 to the gccgo branch. Sorry, trunk revision was 264887. Ian

libgo patch committed: Update to 1.11.1 release

2018-10-08 Thread Ian Lance Taylor
This patch updates libgo to the 1.11.1 release. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE (revision 264882) +++ gcc/go/gof

Re: Merge from trunk to gccgo branch

2018-10-08 Thread Ian Lance Taylor
I merged trunk revision 264932 to the gccgo branch. Ian

libgo patch committed: Skip testSetPanicOnFault when using LLVM

2018-10-09 Thread Ian Lance Taylor
This patch by Cherry Zhang skips the testSetPanicOnFault tests when using gollvm. LLVM doesn't support non-call exceptions. This test was passing more or less by luck: if the faulting instruction is between two calls with the same landing pad (in instruction layout order, not the program's logic o

libbacktrace patch committed: Call munmap after memory test

2018-04-17 Thread Ian Lance Taylor
fixes that problem by explicitly calling munmap. Bootstrapped and ran libbacktrace and Go tests on x86_64-pc-linux-gnu. Committed to mainline. Ian 2018-04-17 Ian Lance Taylor * backtrace.c (backtrace_full): When testing whether we can allocate memory, call mmap directly, and munmap the memory.

Re: libbacktrace patch committed: Call munmap after memory test

2018-04-17 Thread Ian Lance Taylor
On Tue, Apr 17, 2018 at 10:21 AM, Tom de Vries wrote: > On 04/17/2018 03:59 PM, Ian Lance Taylor wrote: >> >> The bug report https://github.com/ianlancetaylor/libbacktrace/issues/13 >> points out that when backtrace_full checks whether memory is >> available, it doesn

Re: libbacktrace patch committed: Call munmap after memory test

2018-04-17 Thread Ian Lance Taylor
On Tue, Apr 17, 2018 at 10:29 AM, Ian Lance Taylor wrote: > On Tue, Apr 17, 2018 at 10:21 AM, Tom de Vries wrote: >> On 04/17/2018 03:59 PM, Ian Lance Taylor wrote: >>> >>> The bug report https://github.com/ianlancetaylor/libbacktrace/issues/13 >>> points

libgo patch committed: suppress "ar rcD" and "-zdefs" on AIX

2018-04-17 Thread Ian Lance Taylor
This patch by Tony Reix fixes invocations of ar and ld on AIX. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE (revision 259359)

Re: [PATCH] libgo: Avoid clobbering shell history file in signal_cgo_test.go

2018-04-17 Thread Ian Lance Taylor
On Wed, Apr 4, 2018 at 6:03 AM, Andreas Schwab wrote: > > For some reason signal_cgo_test.go needs to run an interactive shell, > but suppresses reading the startup files. This causes the shell history > file to be clobbered, by using different history settings than usual. > Avoid that by setting

libgo patch committed: Only look for data symbols on big-endian PPC64 non-AIX

2018-04-20 Thread Ian Lance Taylor
The libgo gotest script runs nm to find tests to run. It normally looks only for T (text) symbols, but on ppc64 also looks for D (data) symbols, because on PPC64 ELF ABI v1 function symbols are actually descriptors in the data segment. This patch changes the script to not do this on AIX, and to n

libgo patch committed, RFA for GCC 8 release branch: Solaris assembler support

2018-04-27 Thread Ian Lance Taylor
This libgo patch fixes the go tool to use Solaris assembler syntax for the buildid file. The Solaris assembler uses a different syntax for section directives. This is https://golang.org/cl/109140 ported over to gccgo. This fixes PR 85429. Bootstrapped and ran Go tests on x86_64-pc-linux-gnu and

Re: libgo patch committed, RFA for GCC 8 release branch: Solaris assembler support

2018-04-27 Thread Ian Lance Taylor
On Fri, Apr 27, 2018 at 11:04 AM, Jakub Jelinek wrote: > On Fri, Apr 27, 2018 at 11:00:41AM -0700, Ian Lance Taylor wrote: >> This libgo patch fixes the go tool to use Solaris assembler syntax for >> the buildid file. The Solaris assembler uses a different syntax for >> sect

libgo patch committed (GCC 8 RFA): more fixes for Solaris assembler

2018-05-01 Thread Ian Lance Taylor
There are even more varieties of the Solaris assembler syntax on different platforms, as discussed on PR 85429. This patch by Rainer Orth should address them all, I hope. Committed to mainline. OK for GCC 8 branch? Ian Index: gcc/go/gofrontend/MERGE =

libgo patch committed: break dependence on unwind-pe.h

2018-05-02 Thread Ian Lance Taylor
This patch by Than McIntosh breaks the dependence of go-unwind.c on unwind-pe.h, by adding the required definitions and code directly to go-unwind.c. go-unwind.c still depends on the public unwind.h API. This makes it easier to build libgo separately. Bootstrapped and ran Go testsuite on x86_64-p

libgo patch committed: refactor package enumeration, runtime.inc generation

2018-05-02 Thread Ian Lance Taylor
This patch by Than McIntosh refactors the lists of libgo package to live in separate files, and reworks generation of runtime.inc to live in a separate shell file. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: libgo/Makefile.am ==

libgo patch committed: Remove unused runtime/stack.go

2018-05-02 Thread Ian Lance Taylor
The file libgo/go/runtime/stack.go was removed from the upstream gofrontend repository back in April, 2017. Somehow it was not removed from GCC. I've now committed a change to remove it. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Ian Index: libgo/go/runtime/stack.go =

libgo patch committed: Add support for NIOS II

2018-05-02 Thread Ian Lance Taylor
This patch by Tobias Klauser adds libgo support for NIOS II. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE (revision 259805) ++

libgo patch committed: Add type/const references to sysinfo.c

2018-05-02 Thread Ian Lance Taylor
This libgo patch by Than McIntosh adds explicit references to various types and constants defined by the header files included by sysinfo.c (used to drive the generation of gen-sysinfo.go as part of the libgo build via the GCC "-fdump-go-spec" option). The intent is to enable clients to gather the

libgo patch committed: Run package build ID tests

2018-05-02 Thread Ian Lance Taylor
In libgo, we earlier disabled tests of the go tool that required package build IDs, because we didn't have them. But now we do, so enable the tests. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Go patch committed: Avoid crashing on invalid non-integer array length

2018-05-03 Thread Ian Lance Taylor
This patch to the Go frontend by Than McIntosh tweaks the array type checking code to avoid crashing on array types whose length expressions are explicit non-integer types (for example, "float64(10)"). If such constructs are seen, issue an "invalid array bound" error. This fixes https://golang.or

libgo patch committed: Update go tool to match recent upstream changes

2018-05-03 Thread Ian Lance Taylor
In https://golang.org/cl/111097 the gc version of cmd/go, which is part of libgo, was updated to include some gccgo-specific changes. The libgo code already has different versions of those changes; this patch makes the libgo match the upstream code. Bootstrapped and ran Go testsuite on x86_64-pc-l

libgo patch committed: enable tests of go tool invoking vet

2018-05-03 Thread Ian Lance Taylor
Since libgo does have the vet tool now, enable the tests in which the go tool invokes it. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/

libgo patch committed: update mkalldocs.sh

2018-05-03 Thread Ian Lance Taylor
Update mkalldocs.sh from the current master sources, replacing the old mkdoc.sh. I think this got left out of the merges. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

libgo patch committed: Fix unaligned read in unwind code

2018-05-04 Thread Ian Lance Taylor
This patch by Than McIntosh fixes some unaligned reads in the Go unwinding code. Bootstrapped and ran a few Go tests on sparc-solaris11. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE (

gotools patch committed: Set GOCACHE during tests

2018-05-04 Thread Ian Lance Taylor
e. I would like to commit this to the GCC 8 branch but I haven't seen a statement that the branch is open for bug fixes. Is the backport OK? Thanks. Ian 2018-05-04 Ian Lance Taylor PR go/85630 * Makefile.am (CHECK_ENV): Set GOCACHE. (ECHO_ENV): Update for setting of GOCACHE. * Makefile.i

Re: gotools patch committed: Set GOCACHE during tests

2018-05-04 Thread Ian Lance Taylor
On Fri, May 4, 2018 at 9:25 AM, Jakub Jelinek wrote: > On Fri, May 04, 2018 at 09:23:54AM -0700, Ian Lance Taylor wrote: >> This patch to the gotools Makefile sets the GOCACHE variable while >> running the gotools tests. This avoids creating a cache in the >> default l

libgo patch committed: On AIX, pass -X64 first to ar

2018-05-04 Thread Ian Lance Taylor
This patch by Tony Reix passes -X64 first to the ar command on AIX, not after the rc command. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline and GCC 8 branch. Ian Index: gcc/go/gofrontend/MERGE === -

libgo patch committed: Update go tool to match recent upstream changes

2018-05-09 Thread Ian Lance Taylor
Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian 2018-05-09 Ian Lance Taylor * Makefile.am (check-go-tool): Don't copy zstdpkglist.go. * Makefile.in: Rebuild. Index: gcc/go/gofrontend/MERGE === --- g

Go patch committed: Don't crash if a compound statement does nothing

2014-08-08 Thread Ian Lance Taylor
. Ian 2014-08-08 Ian Lance Taylor * go-gcc.cc (Gcc_backend::compound_statement): Don't return NULL_TREE. Index: go-gcc.cc === --- go-gcc.cc (revision 213760) +++ go-gcc.cc (working copy) @@ -2123,6 +21

Go patch committed: comma-ok assignments used untyped bool

2014-08-11 Thread Ian Lance Taylor
The Go language was changed slightly so that comma-ok assignments now return the ok value as an untyped boolean value rather than as the named type "bool". The effect of this is that programs can use an existing variable of a boolean type that is not actually "bool". This patch by Chris Manghane

Re: [PATCH] Demangler fuzzer

2014-08-12 Thread Ian Lance Taylor
On Tue, Aug 12, 2014 at 2:02 AM, Gary Benson wrote: > +#include Include demangle.h with "". > +int > +main (int argc, char *argv[]) > +{ > + char symbol[2 + MAXLEN + 1] = "_Z"; > + int seed = -1, seed_set = 0; > + int count = 0, maxcount = -1; I think that by default the program should sto

Re: [PATCH] Demangler fuzzer

2014-08-12 Thread Ian Lance Taylor
On Tue, Aug 12, 2014 at 10:11 AM, Gary Benson wrote: > Ian Lance Taylor wrote: >> >> I think that by default the program should stop. That will make it >> possible to eventually run as part of "make check". Give it some >> number of iterations that stops

Re: [PATCH] Add Berkeley qsort to libiberty to make GCC host-independent

2014-08-13 Thread Ian Lance Taylor
On Wed, Aug 13, 2014 at 6:31 AM, Jeff Law wrote: > On 08/13/14 06:12, Felix Yang wrote: >> >> Hi all, >> >> The qsort library function may have different behavior on >> different hosts (say Linux vs MinGW). >> We may have different sorting results with qsort when there are >> elements wi

Go patch committed: Fix unexpected GC interfering with closure passing

2014-08-13 Thread Ian Lance Taylor
The Go frontend passes closures through to functions using the functions __go_set_closure and __go_get_closure. The expectation is that there are no function calls between set_closure and get_closure. However, it turns out that there can be function calls if some of the function arguments require

libgo patch committed: Don't lose track of m value in GC

2014-08-15 Thread Ian Lance Taylor
The runtime_gc function in libgo invokes the garbage collector proper on the g0 thread (a thread with a large stack that is not involved in scheduling). This is done via runtime_mcall. Upon return from runtime_mcall, the caller may be running on a different thread. Unfortunately, the runtime_gc f

Go patch committed: Initialize frame variable

2014-08-15 Thread Ian Lance Taylor
In the change https://codereview.appspot.com/83750044, committed to the GCC repo in https://gcc.gnu.org/ml/gcc-patches/2014-04/msg00720.html , the initialization of the compiler-generated frame variable was accidentally lost. When the variable happened to be initialized to a non-zero value on the

Re: [PING PATCH] demangler, only access valid fields for DEMANGLE_COMPONENT_FIXED_TYPE.

2014-08-24 Thread Ian Lance Taylor
Jason, can you take a look? Thanks. Ian On Tue, Aug 19, 2014 at 3:46 AM, Gary Benson wrote: > Hi all, > > I just retested this patch. The crash it fixes is still there, > and the patch still fixes it. Is this ok to commit? > > Cheers, > Gary > > Andrew Burgess wrote: >> In two places when a s

Go patch committed: Disallow call of *T method using **T variable

2014-08-26 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to not permit calling a pointer method on *T with a variable of **T. Previously it was incorrectly dereferencing the **T to get a *T and using that to call the method. Fixing this required tweaking one test case. Bootstrapped and ran Go testsuit

Go patch committed: Fix bug comparing struct/array to interface

2014-08-28 Thread Ian Lance Taylor
The Go frontend had a bug comparing a struct or array value to an interface value when the struct or array was not addressable. The code that was supposed to force the struct/array into a temporary variable did not fire, because the compiler erroneously tried to handle it as a straight struct/arra

Re: Use -fbuilding-libgcc for more target macros used in libgcc

2014-09-04 Thread Ian Lance Taylor
On Thu, Sep 4, 2014 at 6:15 PM, Joseph S. Myers wrote: > > gcc/c-family: > 2014-09-05 Joseph Myers > > * c-cppbuiltin.c (c_cpp_builtins): Also define > __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__, > __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__, > __LIB

libgo patch committed: Fix size for unsafe.Pointer GC instructions

2014-09-05 Thread Ian Lance Taylor
This patch to libgo fixes the size for the GC instructions for unsafe.Pointer, which are hand coded. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 6b61234c2552 libgo/runtime/go-unsafe-pointer.c --- a/libgo/runtime/go-unsafe-pointer.c Wed Sep 0

Re: [gofrontend-dev] gccgo and syscall.SysProcAttr.Cloneflags

2014-09-05 Thread Ian Lance Taylor
On Mon, Sep 1, 2014 at 4:18 AM, Michael Hudson-Doyle wrote: > > It's late for me and I don't have a proper test case but it seems to me > that while gccgo's syscall lets you set Cloneflags on its SysProcAttr, > but doesn't actually *do* anything with the flags. Am I missing > something? You aren

Go patch committed: Use precise type information on the heap

2014-09-05 Thread Ian Lance Taylor
This patch from Chris Manghane adds support for precise type information to the gccgo garbage collector. This is only the first step, as the compiler does not pass the type information to the allocator in most cases. I think that right now the precise type information will only be available for s

Re: [PATCH 0/6] Conversion of gimple types to C++ inheritance (v3)

2013-11-05 Thread Ian Lance Taylor
On Tue, Nov 5, 2013 at 2:12 PM, Jeff Law wrote: > > I can't speak for Andrew, but my experience with this kind of object type > casting in a large C++ project is that it's a red flag for a design problem. I'm going to chime in to say that I think it's a pretty typical way to represent a compiler

Re: [RFA][PATCH] Isolate erroneous paths optimization

2013-11-05 Thread Ian Lance Taylor
On Mon, Nov 4, 2013 at 5:57 PM, Jeff Law wrote: > > * Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o > * common.opt (-fisolate-erroneous-paths): Add option and > documentation. > * gimple-ssa-isolate-paths.c: New file. > * gimple.c (check_loadstore): New

Re: [RFA][PATCH] Isolate erroneous paths optimization

2013-11-06 Thread Ian Lance Taylor
On Tue, Nov 5, 2013 at 10:50 PM, Marc Glisse wrote: > On Tue, 5 Nov 2013, Ian Lance Taylor wrote: > >> This patch actually breaks the Go testsuite. In Go dereferencing a >> nil pointer is well-defined: it causes panic that can be caught. This >> breaks a test for that f

Re: [PATCH] [libiberty] MAX_PATH problems with mingw gcc

2013-11-06 Thread Ian Lance Taylor
On Tue, Nov 5, 2013 at 11:41 PM, Joey Ye wrote: > Ping > > ChangeLog > > 2013-10-27 Vladimir Simonov > > (include) > filename.h (FILENAME_NORMALIZE): New macro. > (filename_normalize): New declare. > > (libiberty) > filename_cmp.c (memmove_left): New function. > (f

Re: [RFA][PATCH] Isolate erroneous paths optimization

2013-11-06 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 6:29 AM, Richard Biener wrote: > On Wed, Nov 6, 2013 at 3:24 PM, Ian Lance Taylor wrote: >> On Tue, Nov 5, 2013 at 10:50 PM, Marc Glisse wrote: >>> On Tue, 5 Nov 2013, Ian Lance Taylor wrote: >>> >>>> This patch actually breaks t

Go patch committed: Turn off -fisolate-erroneous-paths for Go

2013-11-06 Thread Ian Lance Taylor
Go. If the option changes in a way that lets Go work, such as by disabling the option when using -fnon-call-exceptions, then this patch can be reverted. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2013-11-06 Ian Lance Taylor * go-lang.c

Re: [RFA][PATCH] Isolate erroneous paths optimization

2013-11-06 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 7:15 AM, Richard Biener wrote: > > But I think that you cannot transform > > foo () > { > *0 = 1; > } > > to __builtin_trap as you can catch the trap via an exception handler > in a caller of foo, no? That is true. OK, I can see an argument that when using -fnon-call-exc

Re: [Patch: libcpp, c-family, Fortran] Re: Warning about __DATE__ and __TIME__

2013-11-06 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 7:37 AM, Tom Tromey wrote: >> "Tobias" == Tobias Burnus writes: > > Tobias> + cpp_warning (pfile, CPP_W_DATE_TIME, "Macro \"%s\" might > prevent " > Tobias> + "reproduce builds", NODE_NAME (node)); > > Tobias> + cpp_warning (pfile, CP

Moved gccgo branch to mainline

2013-11-06 Thread Ian Lance Taylor
I removed the gccgo branch based on the GCC 4.8 branch, and then recreated it as a copy of mainline. Future changes to the gccgo branch will be merged from mainline. The effect is that the gccgo branch now provides an early snapshot of Go 1.2. I tagged the former gccgo branch as tags/gccgo-go1_1

Re: [gofrontend-dev] Moved gccgo branch to mainline

2013-11-06 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 1:51 PM, Michael Hudson-Doyle wrote: > Ian Lance Taylor writes: > >> I removed the gccgo branch based on the GCC 4.8 branch, and then >> recreated it as a copy of mainline. Future changes to the gccgo >> branch will be merged from mainline. >

fixincludes patch RFA: Fix fenv.h on Ubuntu Precise

2013-11-06 Thread Ian Lance Taylor
explicitly. When fenv.h is not fixed, libquadmath does not build. This patch works around the problem. Bootstrapped and tested on x86_64-unknown-linux-gnu. OK for mainline? Ian 2013-11-06 Ian Lance Taylor * inclhack.def (feraiseexcept_nosse_invalid): Match */bits/fenv.h, for

Re: fixincludes patch RFA: Fix fenv.h on Ubuntu Precise

2013-11-06 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 4:03 PM, Bruce Korb wrote: > please try to see if just one file name expression is sufficient. > If one is sufficient, please fix, otherwise, approved. > But, also, "all active branches", please. I tried to do that, but I ran into my lack of knowledge of the fixincludes fra

Re: [PATCH] [libiberty] MAX_PATH problems with mingw gcc

2013-11-07 Thread Ian Lance Taylor
On Wed, Nov 6, 2013 at 11:55 PM, Vladimir Simonov wrote: >> -Original Message- >> From: Ian Lance Taylor [mailto:i...@google.com] >> Sent: Wednesday, November 06, 2013 6:42 PM >> To: Joey Ye >> Cc: gcc-patches; d...@redhat.com; Vladimir Simonov >> Subje

Re: fixincludes patch RFA: Fix fenv.h on Ubuntu Precise

2013-11-07 Thread Ian Lance Taylor
On Thu, Nov 7, 2013 at 8:48 AM, Bruce Korb wrote: > > This time, I'm on my dev box and looked at the code. > You remembered correctly that the first file name in the list > of file names needs to not have wild card characters so that > the testing scheme can create a file by that name. A director

Re: fixincludes patch RFA: Fix fenv.h on Ubuntu Precise

2013-11-07 Thread Ian Lance Taylor
In the meantime I've committed my version of the patch to the gccgo branch. It will be updated to whatever the final mainline version is the next time I merge from mainline to the gccgo branch. Ian On Thu, Nov 7, 2013 at 10:16 AM, Ian Lance Taylor wrote: > On Thu, Nov 7, 2013 at 8:48 A

Re: Recent Go patch broke Alpha bootstrap

2013-11-07 Thread Ian Lance Taylor
On Thu, Nov 7, 2013 at 2:25 PM, Uros Bizjak wrote: > > Recent Go mega-patch broke Alpha bootstrap. Following fixlet is needed: > > --cut here-- > Index: runtime/proc.c > === > --- runtime/proc.c (revision 204522) > +++ runtime/pr

<    4   5   6   7   8   9   10   11   12   13   >