libgo patch committed: Work around Solaris oddity

2013-12-28 Thread Ian Lance Taylor
If one thread does a connect to localhost on a non-blocking socket such that the connect fails with EINPROGRESS, and then another thread accepts the connection and closes the accepted socket, and then the first thread does the connect again, that connect should succeed and return a socket whose oth

Re: [patch] libbacktrace: add support for --disable-werror

2014-01-03 Thread Ian Lance Taylor
On Fri, Jan 3, 2014 at 11:19 AM, Mike Frysinger wrote: > In the same vein as the other dirs, add a --disable-werror option to the > libbacktrace dir to disable the explicit -Werror usage. As far as I can see most of the target directories do not do this. And libbacktrace is only turning on -Werro

libgo patch committed: Remove unused variables

2014-01-05 Thread Ian Lance Taylor
Dominik Vogt pointed out that libgo has some unused variables. They are copied from the gc repository, where they are used, but they make no sense for gccgo. This patch removes them. Bootstrapped on x86_64-unknown-linux-gnu, committed to mainline. Ian diff -r e55673d1a916 libgo/runtime/runtime

Re: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780]

2014-01-06 Thread Ian Lance Taylor
On Mon, Jan 6, 2014 at 8:07 AM, Mike Frysinger wrote: > > 2014-01-06 Mike Frysinger > > PR other/56780 > * configure.ac: Delete target_header_dir assignment. > * configure: Regenerated. This is OK. Thanks. Ian

libgo patch committed: Recognize arm64

2014-01-06 Thread Ian Lance Taylor
This libgo patch from Michael Hudson-Doyle recognizes arm64 as the Go name for the AArch64 architecture. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 070005ab99f5 libgo/configure.ac --- a/libgo/configure.ac Sun Jan 05 19:00:53 2014 -0800 +++

libgo patch committed: Don't allocate fd_set on stack

2014-01-07 Thread Ian Lance Taylor
This libgo patch changes the support for systems that use select for network polling to not allocate all the fd_sets on the stack. That was causing threads to run out of stack space, as described in PR 59433. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu after hacking it to use sel

libgo patch committed: Use POSIX functions for os/user on Solaris

2014-01-07 Thread Ian Lance Taylor
This patch to libgo changes the os/user package to use the POSIX functions on Solaris. Bootstrapped and ran os/user testsuite on x86_64-unknown-linux-gnu and Solaris. Committed to mainline. This fixes PR 59430. Ian diff -r 5917b9bd0ed0 libgo/Makefile.am --- a/libgo/Makefile.am Tue Jan 07 16:42

Re: [PATCH, go]: Skip some go tests

2014-01-09 Thread Ian Lance Taylor
On Thu, Jan 9, 2014 at 2:54 AM, Uros Bizjak wrote: > > 2014-01-09 Uros Bizjak > > * go.test/go-test.exp (go-gc-tests): Don't run peano.go on systems > which don't support -fsplit-stack. Skip rotate[0123]-out.go. This is OK. Thanks. You might want to tweak the comment just under wher

Re: [PATCH, go]: Skip some go tests

2014-01-09 Thread Ian Lance Taylor
e. Those tests are really testing specific gc compiler behaviour anyhow, so we should just skip them with gccgo. This patch does that. Committed to mainline. Ian 2014-01-09 Ian Lance Taylor * go.test/go-test.exp (go-gc-tests): Skip nilptr tests that test the other Go co

libgo patch committed: Fix 32-bit memory allocation

2014-01-09 Thread Ian Lance Taylor
This patch to libgo fixes memory allocation on 32-bit systems when a lot of memory has been allocated. The problem is described in this patch to the master repository: https://codereview.appspot.com/49460043 . runtime: fix 32-bit malloc for pointers >= 0x8000 The spans array is alloc

Go patch committed: Add flattening pass

2014-01-09 Thread Ian Lance Taylor
This patch from Chris Manghane adds a flattening pass to the Go frontend. This is a step toward moving more types of expressions into the backend interface. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 447683c37ddf go/expressions.h --- a/go/

Re: [gofrontend-dev] libgo patch committed: Fix 32-bit memory allocation

2014-01-09 Thread Ian Lance Taylor
On Thu, Jan 9, 2014 at 6:34 PM, Michael Hudson-Doyle wrote: > > Ian Lance Taylor writes: > >> This patch to libgo fixes memory allocation on 32-bit systems when a lot >> of memory has been allocated. The problem is described in this patch to >> t

Go patch committed: Use backend interface for slice info

2014-01-09 Thread Ian Lance Taylor
This patch from Chris Manghane changes gccgo to use the backend interface for slice info. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 44fc257ad7f2 go/expressions.cc --- a/go/expressions.cc Thu Jan 09 15:25:44 2014 -0800 +++ b/go/expressions.

Go patch committed: Define Backend_function_type

2014-01-14 Thread Ian Lance Taylor
This patch from Chris Manghane adds a Backend_function_type: a function type that is implemented as a function pointer rather than as the pointer to a struct that is the implementation of a Go function. This will be used in other backend conversions. Bootstrapped and ran Go testsuite on x86_64-un

Go patch committed: Use backend interface for interface expressions

2014-01-14 Thread Ian Lance Taylor
This Go frontend patch from Chris Manghane uses the backend interface for interface info and field expressions. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2014-01-14 Chris Manghane * go-gcc.cc (Gcc_backend::compound_expression): New fu

libgo patch committed: Remove unnecessary Entersyscall (RMs: OK for GCC 5 branch?)

2015-07-13 Thread Ian Lance Taylor
This patch by Lynn Boger removes unnecessary duplicate calls to Entersyscall and Exitsyscall from the GNU/Linux Getdents function. The calls are duplicates because they are called by Syscall, also called by Getdents. These duplicate calls sometimes cause the deadlock detector to fire incorrectly,

Go patch committed: Analyze multiple-result conversions

2015-07-13 Thread Ian Lance Taylor
This patch from Chris Manghane fixes escape analysis to correctly handle calls to interface conversion functions that return multiple results. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Go patch committed: Fix location of function parameters

2015-07-13 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the location of function parameters in the Go frontend. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofro

Go patch committed: Check for possible pointers at run time

2015-07-13 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to check whether a type contains pointers at run time, rather than using two different functions, one with possible pointers, one not. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofr

Re: [PATCH] libgcc: fix build with older make

2015-07-16 Thread Ian Lance Taylor
"Jan Beulich" writes: > 2015-07-16 Jan Beulich > > * config/t-softfp: Split up "else ifneq". This is OK. Thanks. Ian

Go patch committed: Remove unnecessary tests

2015-07-20 Thread Ian Lance Taylor
This patch by Chris Manghane removes some unnecessary tests from the Go frontend. These checks are now handled by the GCC-specific code in gcc/go/go-gcc.cc. Bootstrapped and ran testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Go patch committed: Don't simply discard blank labels

2015-07-20 Thread Ian Lance Taylor
+ private: // The name of the label. std::string name_; Index: gcc/java/ChangeLog === --- gcc/java/ChangeLog (revision 225715) +++ gcc/java/ChangeLog (working copy) @@ -1,3 +1,7 @@ +2014-07-11 Ian Lance Taylor + + * config-lang.in (

Re: [PATCH] libierty: change _ANSIDECL_H to ANSIDECL_H

2015-07-20 Thread Ian Lance Taylor
On Sun, Jul 19, 2015 at 9:22 PM, Lawrence D'Anna wrote: > > ansidecl.h is using _ANSIDECL_H as it's guard #ifdef. But names that start > with > underscore are reserved, and the latest version of Xcode seems to be > exercising > its prerogative to define _ANSIDECL_H. > > This patch changes _ANSI

Go patch committed

2015-07-23 Thread Ian Lance Taylor
This patch from Chris Manghane avoids a compiler crash for some kinds of invalid code. This is http://golang.org/issue/11592 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

Go patch committed

2015-07-23 Thread Ian Lance Taylor
This patch from Chris Manghane makes empty interface types for variables at parse time when there are no methods. This is normally cleaned up later, but for sink variables that clean up never happens and we get an internal compiler error. This fixes https://golang.org/issue/11579. Bootstrapped a

Go patch committed: Don't move constant expressions for ordering

2015-07-24 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend so that when moving expressions to ensure that they are evaluated in the correct order, it does not bother to move a constant expression. This fixes https://golang.org/issue/11039 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.

Go patch committed: Don't accept rune literals with \X

2015-07-24 Thread Ian Lance Taylor
The Go spec says that rune hex literals should start with \x. The Go frontend was incorrectly accepting \X as well. This patch by Chris Manghane fixes the problem. This is https://golang.org/issue/11575 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian

Go patch committed: Don't parse malformed receiver/parameters

2015-07-24 Thread Ian Lance Taylor
This patch from Chris Manghane fixes the Go frontend to not crash after parsing a malformed receiver or parameter. This fixes https://golang.org/issue/11576 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ===

libgo patch committed: Add if_tun.h ioctl constants

2015-07-24 Thread Ian Lance Taylor
This patch from Lynn Boger adds the tunneling constants from if_tun.h to libgo. This fixes https://golang.org/issue/11707. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ===

libgo patch committed: Add missing spaces to last mksysinfo commit

2015-07-29 Thread Ian Lance Taylor
The last change to libgo/mksysinfo.sh was missing some spaces, which apparently causaed mksysinfo to hang on some systems. This is https://golang.org/issue/11924. This patch from Lynn Boger fixes the problem. Bootstrapped on x86_64-unknown-linux-gnu, where it made no difference. Committed to ma

Re: [Patch 0/4] PowerPC64 Linux split stack support

2015-07-30 Thread Ian Lance Taylor
On Thu, Jul 30, 2015 at 10:46 AM, Lynn A. Boger wrote: > Can this patch be submitted to fix the ppc 32 bootstrap error? > > On 06/19/2015 07:58 AM, Andreas Schwab wrote: >>> >>> * go-lang.c (go_langhook_init_options_struct): Don't set >>> x_flag_split_stack. >>> (go_langhoo

Go patch committed: Don't allow builtin function values that are not called

2015-07-31 Thread Ian Lance Taylor
The Go spec says that builtin functions may not be referenced other than being called. This patch from Chris Manghane implements that restriction in the Go frontend. This fixes https://golang.org/issue/11570 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.

Go patch committed: Update Unicode tables

2015-07-31 Thread Ian Lance Taylor
This patch from Chris Manghane updates the Unicode tables in the Go frontend to Unicode 8. This fixes https://golang.org/issue/11569 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

Go patch committed: Check types in function declarations

2015-07-31 Thread Ian Lance Taylor
This patch to the Go frontend by Chris Manghane checks that the types that appear in function declarations are valid. This fixes https://golang.org/issue/11567. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

Go patch committed: Fix error reporting for invalid builtin calls

2015-07-31 Thread Ian Lance Taylor
This patch from Chris Manghane fixes the Go frontend error reporting for invalid builtin calls, by not losing track of whether the call is erroneous. This fixes https://golang.org/issue/11561. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/g

Re: Go patch committed: Fix error reporting for invalid builtin calls

2015-08-03 Thread Ian Lance Taylor
On Mon, Aug 3, 2015 at 2:10 AM, Andreas Schwab wrote: > ../../../libgo/runtime/mprof.goc: In function 'runtime_Stack': > ../../../libgo/runtime/mprof.goc:408:5: error: calling > '__builtin_frame_address' with a nonzero argument is unsafe > [-Werror=frame-address] > sp = runtime_getcallersp(&b

libgo patch committed: Kill sleep processes in testsuite

2015-08-03 Thread Ian Lance Taylor
This patch from Andrew Wilkins kills off extra sleep processes when running the libgo testsuite. Otherwise, the sleep process would continue after the test completes. This doesn't affect the testsuite but the extra sleep processes are not desirable. Committed to mainline. Ian Index: gcc/go/gofr

Go patch committed: Don't make erroneous type descriptors

2015-08-03 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to not make type descriptor for named types if we have seen errors during the compilation. This avoids a compiler crash, and fixes https://golang.org/issue/11560 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mai

Go patch committed: Don't allow multiple function declarations

2015-08-03 Thread Ian Lance Taylor
The Go frontend used to erroneously permit the same function to be declared multiple times. This patch from Chris Manghane fixes that. This fixes https://golang.org/issue/11573. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/ME

libgo patch committed: Fix type of RawSockaddr Data field for PPC

2015-08-03 Thread Ian Lance Taylor
The gc compiler determines the type of the Data field in the syscall.RawSockaddr type by looking at the system header files. The gccgo library just has a fixed definition for it. Unfortunately the fixed definition does not match the header files on PPC64 systems. This is https://golang.org/issue/

Re: [gofrontend-dev] Re: Go patch committed: Fix error reporting for invalid builtin calls

2015-08-03 Thread Ian Lance Taylor
On Mon, Aug 3, 2015 at 7:24 PM, Michael Hudson-Doyle wrote: > > Now I get > > ../../../gcc/libgo/runtime/mprof.goc: In function ‘runtime_Stack’: > ../../../gcc/libgo/runtime/mprof.goc:437:19: error: ‘enablegc’ may be > used uninitialized in this function [-Werror=maybe-uninitialized] >mstats.e

libgo patch committed: Backport some patches to GCC 5 branch

2015-08-04 Thread Ian Lance Taylor
I've backported three recent libgo patches to the GCC 5 branch, as follows. Ian Index: libgo/Makefile.am === --- libgo/Makefile.am (revision 226591) +++ libgo/Makefile.am (working copy) @@ -1676,7 +1676,17 @@ endif # !LIBGO_IS_LIN

Go patch committed: Use the type context to determine type of a complex constant

2015-08-04 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to use the type context to determine the type of a complex constant. This fixes https://golang.org/issue/11572 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Go patch committed: Verify pointer's underlying type

2015-08-04 Thread Ian Lance Taylor
This patch from Chris Manghane ensures that when verifying a pointer type, we verify the underlying type. This fixes https://golang.org/issue/11547 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Re: [gofrontend-dev] Re: libgo patch committed: Kill sleep processes in testsuite

2015-08-05 Thread Ian Lance Taylor
[ + Andrew Wilkins ] On Wed, Aug 5, 2015 at 1:58 AM, Andreas Schwab wrote: > PASS > kill: not enough arguments > FAIL: net > Makefile:4696: recipe for target 'net/check' failed > make[4]: *** [net/check] Error 1 > > $ cat net/check-testlog > PASS > kill: not enough arguments > FAIL: net > ../../.

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-09-15 Thread Ian Lance Taylor
On Thu, Aug 27, 2015 at 2:00 PM, Lynn A. Boger wrote: > Here is an updated patch, with a summary of the differences from my previous > patch: > > - In my previous patch gcc configure was verifying the gold linker even if > it was the > default linker, but that is not necessary since in that case -

libgo patch committed: check linking split-stack and non-split-stack together

2015-09-15 Thread Ian Lance Taylor
Mainline GCC and gold now support -fsplit-stack for PPC. This means that if you are using mainline GCC with an old version of gold, and you compile with -fsplit-stack, and there is split-stack code that calls non-split-stack code, then gold will give an error because it doesn't know how to handle

Merge from trunk to gccgo branch

2015-09-15 Thread Ian Lance Taylor
I merged trunk revision 227802 to the gccgo branch. Ian

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-09-15 Thread Ian Lance Taylor
On Tue, Sep 15, 2015 at 11:24 AM, Lynn A. Boger wrote: > > I need some feedback on whether to enable the gold linker at > all for split stack on platforms other than Power in gcc/configure.ac. > I don't know if there are gold linker versions that should be verified for > non-Power platforms. My f

libgo patch committed: Use -fno-split-stack for Go if linker doesn't support split-stack

2015-09-15 Thread Ian Lance Taylor
Another patch for libgo with an old linker: if the compiler supports -fsplit-stack but the linker does not, then we need to explicitly compile the Go code with -fno-split-stack. Otherwise the linker will complain when linking libgo.so. This patch fixes the problem. Bootstrapped on x86_64-unknown-

Re: Merge from trunk to gccgo branch

2015-09-15 Thread Ian Lance Taylor
On Tue, Sep 15, 2015 at 11:55 AM, Ian Lance Taylor wrote: > I merged trunk revision 227802 to the gccgo branch. And again, from revision 227811. Ian

Go patch committed: Avoid compiler crash on initialization error

2015-09-15 Thread Ian Lance Taylor
This patch by Chris Manghane to the Go frontend avoids a compiler crash on an initialization error involving builtin functions. This fixes https://golang.org/issue/12319 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Go patch committed: Don't crash on malformed numeric constants

2015-09-16 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to not crash on malformed numeric constants. This fixes https://golang.org/issue/11548 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Go patch committed: Don't crash on erroneous channel reads

2015-09-16 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to not crash on erroneous channel reads. This fixes https://golang.org/issue/12320 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Go compiler patch: issue receive type errors earlier

2015-09-17 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to issue type errors earlier for a receive operation. This fixes https://golang.org/issue/12323 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ===

Re: [PATCH, fortran] PR 53379 Backtrace on error termination

2015-09-17 Thread Ian Lance Taylor
On Thu, Sep 17, 2015 at 7:08 AM, David Edelsohn wrote: > On Wed, Sep 9, 2015 at 12:12 AM, Ian Lance Taylor wrote: >> Mike Stump writes: >> >>> Not a big issue, but slightly better if (O_CLOEXEC>>32) != 0 is also >>> true. See, if AIX should ever define

libgo patch committed: rewrite lfstack to look more like gc code

2015-09-23 Thread Ian Lance Taylor
This patch by Michael Hudson-Doyle rewrites the lfstack code in libgo to look more like that in the gc library. It also fixes it for arm64. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

libgo patch committed: Use =, not ==, in mksysinfo.sh

2015-09-23 Thread Ian Lance Taylor
As suggested in http://gcc.gnu.org/PR67695 , we should not use test with == in mksysinfo.sh. This patch fixes it. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Re: libgo patch committed: rewrite lfstack to look more like gc code

2015-09-24 Thread Ian Lance Taylor
On Thu, Sep 24, 2015 at 6:25 AM, Rainer Orth wrote: > Ian Lance Taylor writes: > >> This patch by Michael Hudson-Doyle rewrites the lfstack code in libgo >> to look more like that in the gc library. It also fixes it for arm64. >> Bootstrapped and ran Go testsuite on

Go patch committed: Accept untyped integer values as indexes

2015-09-29 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to accept any untyped integer value as an index, even if the default type of the value is not "int". This fixes https://golang.org/issue/11545 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-09-30 Thread Ian Lance Taylor
On Thu, Sep 17, 2015 at 12:13 PM, Lynn A. Boger wrote: > Here is my updated patch, with the changes suggested by > Ian for gcc/gospec.c and David for gcc/configure.ac. > > Bootstrap built and tested on ppc64le, ppc64 multilib. > > 2015-09-17Lynn Boger > gcc/ > PR target/66870 >

Go patch committed: Only check OPT_m32 if TARGET_CAN_SPLIT_STACK_64BIT

2015-10-01 Thread Ian Lance Taylor
The option OPT_m32 is not defined on all targets. This patch only checks for it if TARGET_CAN_SPLIT_STACK_64BIT is defined, which is the only case where we need to know the value. Bootstrapped on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2015-10-01 Ian Lance Taylor PR go/66870

Re: [libgo PATCH] Request for a backport to gcc-5

2015-10-02 Thread Ian Lance Taylor
On Fri, Oct 2, 2015 at 1:05 PM, Marek Polacek wrote: > > I'd like to backport the following patch to the gcc-5 branch. The > problem here is that there's a bug in the gcc-5 branch due to which > we aren't able to warn for > int foo (void) { return NULL; } > in C. I have a patch for this issue,

Go patch committed: Update Unicode letters table to Unicode 8.0.0

2015-10-05 Thread Ian Lance Taylor
This patch by Chris Manghane updates the Go frontend unicode letters table to Unicode 8.0.0. This fixes https://golang.org/issue/12322 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gospec.c ==

Go patch committed: Track each package import separately

2015-10-06 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to track each package import separately, so that we can report whether an import is used separately by the alias used. This fixes https://golang.org/issue/12326 . This requires adjust a couple of test cases, to match errors previously only emit

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-10-07 Thread Ian Lance Taylor
On Wed, Oct 7, 2015 at 8:36 AM, Lynn A. Boger wrote: > Pretty sure this is the fix, but still doing some testing. Looks good to me but I suppose David E. should approve. Ian

libgo patch committed: Call C library fcntl function, not syscall

2015-10-07 Thread Ian Lance Taylor
GCC PR go/67874 points out that not all systems define syscall.SYS_FCNTL. Some only have SYS_FCNTL64. This patch changes libgo to use the C library fcntl function instead. It uses a helper function because Go code can not call C varargs functions directly, and to handle errno and avoid problems

Go patch committed: Don't make temporaries for constant operands

2015-10-07 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to not make temporaries for constant operands in binary expressions. This fixes https://golang.org/issue/12616 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-10-11 Thread Ian Lance Taylor
On Sun, Oct 11, 2015 at 7:43 AM, Andreas Schwab wrote > > Please remind me why this logic isn't implemented as a target hook. > > supports_split_stack = TARGET_CAN_SPLIT_STACK; > > /* rs6000.h */ > #define TARGET_CAN_SPLIT_STACK TARGET_64BIT There is a target hook for split stack support in gcc/c

Re: [PATCH] Eliminate libgo.so dependency for go and gofmt tools in gotools/

2015-10-16 Thread Ian Lance Taylor
On Fri, Oct 16, 2015 at 9:28 AM, Lynn A. Boger wrote: > To make it easier to use gotools go and gofmt, add -static-libgo when > linking them. This makes it nicer > in all cases since it eliminates the dependency on libgo.so for these tools, > but it is mostly helpful for > the cross compiled case

Re: [PATCH] PR66870 PowerPC64 Enable gold linker with split stack

2015-10-16 Thread Ian Lance Taylor
On Sun, Oct 11, 2015 at 6:07 AM, Alan Modra wrote: > > gcc/ > * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. > * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. > (TARGET_CAN_SPLIT_STACK_64BIT): Define. > gcc/go/ > * gospec.c (saw_op

Re: [patch] fix gotools cross build

2015-10-19 Thread Ian Lance Taylor
On Wed, May 6, 2015 at 5:34 AM, Matthias Klose wrote: > > Yes, it's documented that there is still some work to do for cross builds, > however a cross build for gotools currently fails. > > The toplevel make always passes the GOC variable in the environment, > overwriting > anything configured in

Go patch committed: Check shift by string value

2015-10-20 Thread Ian Lance Taylor
This patch by Chris Manghane fixes the Go frontend to correctly diagnose an attempt to shift by a string value. This fixes https://golang.org/issue/12618 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ==

Go patch committed: Don't check invalid constant when lowering binary expr

2015-10-20 Thread Ian Lance Taylor
This patch by Chris Manghane changes the Go frontend to not check for an invalid constant when lowering a binary expression. This fixes https://golang.org/issue/12615 . Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE =

Go patch committed: Use Go function closures for type hash/equal functions

2015-10-29 Thread Ian Lance Taylor
This patch changes the type descriptor hash and equal functions from C code pointers to Go func values. This permits them to be set to a Go function closure. This is in preparation for the Go 1.5, so that we can use a closure for the hash/equal functions returned by the new reflect.ArrayOf functi

Go patch committed: Drop zero field from type descriptors

2015-10-29 Thread Ian Lance Taylor
The gc Go library added a zero field to type descriptors for use by maps. It was added to gccgo in a library updated a while back, although gccgo never used it. The gc library has since dropped it. This patch removes it from gccgo. This is in preparation for an update to the Go 1.5 library. Boo

Go patch committed: build pointer type to types with methods

2015-10-30 Thread Ian Lance Taylor
The Go compiler always builds the pointer type for any named type, so that it can attach methods in case the program calls reflect.PtrTo. However, it didn't do that for unnamed types that happened to have methods due to inheritance. This patch fixes that problem. Bootstrapped and ran Go testsuite

libgo patch committed: Update to Go 1.5 release

2015-10-30 Thread Ian Lance Taylor
I have committed a patch to libgo to update it to the Go 1.5 release. As usual for libgo updates, the actual patch is too large to attach to this e-mail message. I've attached the changes to the gccgo-specific files. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainlin

libgo patch committed: Update to Go 1.5.1

2015-10-31 Thread Ian Lance Taylor
This patch updates libgo from the Go 1.5 release to the Go 1.5.1 release. It's fairly small. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofront

gotools patch committed: Update for Go 1.5.1 library

2015-10-31 Thread Ian Lance Taylor
I forgot to commit this patch to update gotools to the Go 1.5.1 library. Already tested, now committed. Ian 2015-10-31 Ian Lance Taylor * Makefile.am (go_cmd_go_files): Update to Go 1.5.1 library by adding alldocs.go, doc.go, note.go. * Makefile.in: Rebuild. Index: Makefile.am

libgo patch committed: When non-split-stack, allocate 64-bit stack using mmap

2015-10-31 Thread Ian Lance Taylor
When not using split stacks, libgo allocate large stacks for each goroutine. On a 64-bit system, libgo allocates a maximum of 128G for the Go heap, and allocates 4M for each stack. When the stacks are allocated from the Go heap, the result is that a program can only create 32K goroutines, which i

Re: libgo patch committed: Update to Go 1.5 release

2015-11-01 Thread Ian Lance Taylor
On Sun, Nov 1, 2015 at 1:39 AM, Andreas Schwab wrote: > ../../../../libgo/go/syscall/exec_linux.go:185:37: error: reference to > undefined name 'TIOCSPGRP' >_, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp)) > ^ > > $ grep TIOCSPGRP gen-sy

Go patch committed: Traverse types of call expression

2015-11-01 Thread Ian Lance Taylor
GCC PR 67968 provides a test case that causes a gccgo crash. The crash is because the compiler failed to build the hash and equality functions required for a type descriptor. The descriptor is for an unnamed type that is being returned by a function imported from a different package. The unnamed

Re: libgo patch committed: Update to Go 1.5 release

2015-11-01 Thread Ian Lance Taylor
On Sun, Nov 1, 2015 at 1:39 AM, Andreas Schwab wrote: > ../../../../libgo/go/syscall/exec_linux.go:185:37: error: reference to > undefined name 'TIOCSPGRP' >_, err1 = raw_ioctl_ptr(sys.Ctty, TIOCSPGRP, unsafe.Pointer(&pgrp)) > ^ > > $ grep TIOCSPGRP gen-sy

Re: libgo patch committed: Update to Go 1.5 release

2015-11-02 Thread Ian Lance Taylor
On Mon, Nov 2, 2015 at 1:37 AM, Andreas Schwab wrote: > Ian Lance Taylor writes: > >> On Sun, Nov 1, 2015 at 1:39 AM, Andreas Schwab wrote: >>> ../../../../libgo/go/syscall/exec_linux.go:185:37: error: reference to >>> undefined name 'TIOCSPGRP'

Re: libgo patch committed: Update to Go 1.5 release

2015-11-02 Thread Ian Lance Taylor
On Mon, Nov 2, 2015 at 7:39 AM, Lynn A. Boger wrote: > I see this error when building gccgo from trunk on ppc64le and running the > libgo tests: > > exec_unix_test.go:174:43: error: reference to undefined identifier > 'syscall.TIOCGPGRP' > errno := syscall.Ioctl(tty.Fd(), syscall.TIOCGPGRP, > ui

Re: [gofrontend-dev] Re: libgo patch committed: Update to Go 1.5 release

2015-11-02 Thread Ian Lance Taylor
On Mon, Nov 2, 2015 at 12:59 PM, Lynn A. Boger wrote: > > I assume there will be a different number for the libgo.so for Go 1.5? Thanks for the reminder. I committed this patch to bump the version number. Ian Index: gcc/go/gofrontend/MERGE ===

Merge from trunk to gccgo branch

2015-11-02 Thread Ian Lance Taylor
I merged trunk revision 229686 to the gccgo branch. Ian

Re: libgo patch committed: Update to Go 1.5 release

2015-11-03 Thread Ian Lance Taylor
On Mon, Nov 2, 2015 at 11:48 PM, Uros Bizjak wrote: > >> I have committed a patch to libgo to update it to the Go 1.5 release. >> >> As usual for libgo updates, the actual patch is too large to attach to >> this e-mail message. I've attached the changes to the gccgo-specific >> files. >> >> Boots

Re: libgo patch committed: Update to Go 1.5 release

2015-11-03 Thread Ian Lance Taylor
On Tue, Nov 3, 2015 at 7:48 AM, Lynn A. Boger wrote: > > We are seeing failures on all the libgo tests when gccgo is built with the > latest trunk > on ppc64 (BE) and when running the testsuite for 64 bit. The failures > do not occur if run on ppc64 BE with m32 and do not occur on ppc64le. > > Th

Re: libgo patch committed: Update to Go 1.5 release

2015-11-03 Thread Ian Lance Taylor
On Tue, Nov 3, 2015 at 12:17 PM, Lynn A. Boger wrote: > I can see the problem in gotest. It has to do with the setting of GOARCH. > > Previously GOARCH was being set based on the --goarch argument, but now > goarch is being set. Not sure both GOARCH and goarch are needed? > > I've attached a pat

Re: libgo patch committed: Update to Go 1.5 release

2015-11-06 Thread Ian Lance Taylor
On Fri, Nov 6, 2015 at 5:01 AM, Rainer Orth wrote: > Ian Lance Taylor writes: > >> I have committed a patch to libgo to update it to the Go 1.5 release. >> >> As usual for libgo updates, the actual patch is too large to attach to >> this e-mail message. I'v

libgo patch committed: Fix unexported embedded structs

2015-11-06 Thread Ian Lance Taylor
There has been a long-standing discrepancy between the gc and the gccgo Go compilers in their handling of the type descriptors for unexported embedded structs. gccgo correctly records a PkgPath for the package where those embedded structs are defined. gc does not. The Go libraries are written exp

libgo patch committed: always use --whole-archive in go tool

2015-11-10 Thread Ian Lance Taylor
This patch changes the Go tool to always use --whole-archive when linking gccgo packages. This fixes cases where a Go package uses cgo to call C code in which the only referenced symbol is a C global variable. This is a backport of https://golang.org/cl/16775 in the master Go sources. This fixes

Re: libgo patch committed: Update to Go 1.5 release

2015-11-10 Thread Ian Lance Taylor
On Sun, Nov 8, 2015 at 9:21 AM, Rainer Orth wrote: > > There were two remaining problems: > > * Before Solaris 12, sendfile only lives in libsendfile. This lead to > link failures in gotools. > > * Solaris 12 introduced a couple more types that use _in6_addr_t, which > are filtered out by mk

Re: libgo patch committed: Update to Go 1.5 release

2015-11-11 Thread Ian Lance Taylor
On Wed, Nov 11, 2015 at 3:48 AM, Rainer Orth wrote: > Ian Lance Taylor writes: > >> On Sun, Nov 8, 2015 at 9:21 AM, Rainer Orth >> wrote: >>> >>> There were two remaining problems: >>> >>> * Before Solaris 12, sendfile only lives in lib

Go patch committed: add receiver type to specific type function name

2015-11-20 Thread Ian Lance Taylor
This patch to the Go frontend fixes the case where two different methods on different types with the same method name both define a type internally with the same name where the type requires a specific type hash or equality function. Before this patch those functions would get the same, causing a

Merge from trunk to gccgo branch

2015-11-20 Thread Ian Lance Taylor
I merged trunk revision 230657 to the gccgo branch. Ian

libgo patch committed: use correct tool dir with gccgo

2015-11-20 Thread Ian Lance Taylor
This patch from Lynn Boger fixes the go tool shipped with gccgo to use the correct tool directory. It also fixes the 'go tool' output to only list known tools. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline and GCC 5 branch. Ian Index: gcc/go/gofrontend/MERGE ==

libgo patch committed: Handle DW_AT_specification in cgo

2015-11-20 Thread Ian Lance Taylor
The earlydebug work has caused https://gcc.gnu.org/PR68072 when using the cgo tool. The patch to fix this in the master sources is https://golang.org/cl/17151 . This patch fixes the problem in the gccgo sources. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline and

<    1   2   3   4   5   6   7   8   9   10   >