[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #5 from Dominik Vogt --- Wouldn't the correct and easy to identify place be right after the first NOTE_INSN_BASIC_BLOCK?

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #7 from Dominik Vogt --- Created attachment 35595 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35595&action=edit Experimental fix Can you please check whether this patch works for you? The patch also contains improved test c

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #9 from Dominik Vogt --- Yeah, I accidentally left the other test cases commented out. I'll clean that up in the next version of the patch. That doesn't have an impact on the correctness of the code change, though.

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #11 from Dominik Vogt --- (In reply to Jakub Jelinek from comment #10) > As for the hotpatch testcases, have you tested them also with > -fno-dwarf2-cfi-asm (as they seem to contain .cfi directives in the regexps)? Not yet. I'll add

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #12 from Dominik Vogt --- Created attachment 35597 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35597&action=edit Experimental fix 2 Version 2 of the patch with the suggested changes and test fixes. Note: Functions without a

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #14 from Dominik Vogt --- Is it possible that a function has no insns at all?

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 Dominik Vogt changed: What|Removed |Added Attachment #35597|0 |1 is obsolete|

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 Dominik Vogt changed: What|Removed |Added Attachment #35598|0 |1 is obsolete|

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-25 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #20 from Dominik Vogt --- I'll remove "-O0" from the list of torture test options so that the list of hotpatch torture tests is only defined in one place.

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 Dominik Vogt changed: What|Removed |Added Attachment #35599|0 |1 is obsolete|

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-29 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #24 from Dominik Vogt --- Okay, I've made a new patch that fixes the problem with only the hotpatch tests running in the s390 test suite. This change passes all tests on 64 and 31 bit. After this change we have done some cleanup wor

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-05-29 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #26 from Dominik Vogt --- The patch for upstream gcc is available here: https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02739.html

[Bug target/66215] [4.8/4.9/5/6 Regression] Wrong after label NOP emission for -mhotpatch

2015-06-01 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215 --- Comment #29 from Dominik Vogt --- As this still seems to work in 4.8, 4.9 and 5.1, is it acceptable to only fix this on the master?

[Bug target/66363] New: ICE in modified test inline-36.c

2015-06-01 Thread vogt at linux dot vnet.ibm.com
Assignee: unassigned at gcc dot gnu.org Reporter: vogt at linux dot vnet.ibm.com Target Milestone: --- This small test program derived from gcc.dg/inline-39.c (by adding the inline keyword) exposes an ICE on s390x, but this may be/probably is a problem on all platforms: -- snip -- int

[Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x

2015-06-02 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x

2015-06-02 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303 --- Comment #5 from Dominik Vogt --- Funny, the backtrace claims that 0x80001de7 ist main.main+23 (#0 of the backtrace), but it actually is main.main-1 (#7).

[Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x

2015-06-02 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303 --- Comment #6 from Dominik Vogt --- Ah, forget it, the addresses are okay; I'll dig deeper into the code.

[Bug go/66303] runtime.Caller() returns infinitely deep stack frames on s390x

2015-06-02 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303 --- Comment #7 from Dominik Vogt --- When dumping the complete backtrace, gdb produces a warning. Maybe the libgo/runtime code does not properly set up the initial stack frame of the thread? (gdb) set backtrace past-main (gdb) bt #0 main.main

[Bug go/60134] New: runtime_unmarkspan panics with "unaligned pointer"

2014-02-10 Thread vogt at linux dot vnet.ibm.com
Component: go Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com (using git commit id e63988cca99cbbf6e5c459379309fe3359fe7c09) The test case convert.go fails with a panic in a panic on System/z: -- snip -- fatal error: markspan: unaligned pointer g

[Bug go/60134] runtime_unmarkspan panics with "unaligned pointer"

2014-02-11 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60134 --- Comment #4 from Dominik Vogt --- On Wed, Feb 12, 2014 at 12:34:06AM +, ian at airs dot com wrote: > I suspect this problem was fixed by revision 205940 in the GCC Subversion > repository, committed 2013-12-12, > http://gcc.gnu.org/ml/gcc-p

[Bug go/60134] runtime_unmarkspan panics with "unaligned pointer"

2014-02-14 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60134 Dominik Vogt changed: What|Removed |Added Status|RESOLVED|CLOSED --- Comment #5 from Dominik Vogt -

[Bug go/60288] New: gccgo crashes compiling '*func_ptr(0)'

2014-02-20 Thread vogt at linux dot vnet.ibm.com
ponent: go Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com Created attachment 32179 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32179&action=edit test program git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207936 138bc75d-0d04-0410-961f-82ee72b05

[Bug go/60288] gccgo crashes compiling '*func_ptr(0)'

2014-02-20 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60288 --- Comment #1 from Dominik Vogt --- > So it looks like gccgo reads the expression as > > (*pg)(0) I meant -> (*(&g))(0) > while golang reads it as > > *(pg(0)) -> *(&(g(0)))

[Bug go/60288] gccgo crashes compiling '*func_ptr(0)'

2014-02-21 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60288 Dominik Vogt changed: What|Removed |Added Status|RESOLVED|CLOSED --- Comment #5 from Dominik Vogt -

[Bug target/60337] New: s390: Function arguments are not aligned

2014-02-25 Thread vogt at linux dot vnet.ibm.com
Assignee: unassigned at gcc dot gnu.org Reporter: vogt at linux dot vnet.ibm.com On s390, if a type with __attribute__((aligned(...))) is passed as a function parameter, the parameters are not aligned properly. Also, a parameter that is passed in a register and then copied to

[Bug target/60337] s390: Function arguments are not aligned

2014-02-25 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60337 --- Comment #1 from Dominik Vogt --- Created attachment 32209 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32209&action=edit test program

[Bug target/60337] s390: Function arguments are not aligned

2014-02-25 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60337 --- Comment #2 from Dominik Vogt --- (libffi does not honour the alignment either.)

[Bug target/60337] s390: Function arguments are not aligned

2014-02-25 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60337 --- Comment #4 from Dominik Vogt --- > It's the same on x86 I suppose Well, the test program works fine on my amd64 box i.e. the alignment is correct in all three functions (I guess foo() needs more int args to force "a" onto the stack), and from

[Bug target/60337] s390: Function arguments are not aligned

2014-02-26 Thread vogt at linux dot vnet.ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60337 --- Comment #5 from Dominik Vogt --- With -O2 and -O3 all three cases generate the proper alignment With -O1 only foo() has the proper alignment With -O0 none of the cases has the proper alignment ==> Code compiled with -O0 and -O3 accidentally u

[Bug go/60406] New: reflect.go:test13reflect2 test failure

2014-03-03 Thread vogt at linux dot vnet.ibm.com
Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com >From a email discussion between me (DV) and Ian Lance Taylor (IT): DV: The bug shows up when running recover.go from the go testsuite DV: in the function test13reflect2 (and test14reflect2). DV: DV: When panic

[Bug target/61578] [4.9 regression] Code size increase for ARM thumb compared to 4.8.x when compiling with -Os

2015-09-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug target/61578] [4.9 regression] Code size increase for ARM thumb compared to 4.8.x when compiling with -Os

2015-09-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 --- Comment #28 from Dominik Vogt --- Created attachment 36371 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36371&action=edit Outpout of the reload pass (BAD) The full output of the reload pass on S/390, showing the behaviour described i

[Bug target/61578] [4.9 regression] Code size increase for ARM thumb compared to 4.8.x when compiling with -Os

2015-09-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 --- Comment #29 from Dominik Vogt --- I think I understand what's going on: Consider the patched code in match_reloads(): + = (ins[1] < 0 && REG_P (in_rtx) + && (int) REGNO (in_rtx) < lra_new_regno_start + && find_regno_

[Bug target/61578] [4.9 regression] Code size increase for ARM thumb compared to 4.8.x when compiling with -Os

2015-09-25 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 --- Comment #32 from Dominik Vogt --- Update: We've stepped through the code with gdb and noticed that the change in lra-lives.c has nothing to do with our observations. The new condition there is never executed, so it must be just the change in

[Bug target/61578] [4.9 regression] Code size increase for ARM thumb compared to 4.8.x when compiling with -Os

2015-09-28 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 --- Comment #34 from Dominik Vogt --- The patch in comment 33 fixes the s390 regression. Thanks!

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #4 from Dominik Vogt --- Now this is the result of my efforts of reducing the original large test program to a minimum. --- struct s_t { unsigned f1: 8; unsigned f2: 24; }; bool foo(int a, int **pp, s_t **pps, void *s, int *

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #5 from Dominik Vogt --- Created attachment 36509 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36509&action=edit test program and debug output test program and debug output

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #7 from Dominik Vogt --- Almost. Note the strange bit numbering on s390. The highest order bit in any operation always has the number 0, and the lowest order bit has the highest number. So the 8-bit-move instruction "mvi" stores a

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #8 from Dominik Vogt --- Snippet of the assembly code from the test program posted in comment 4: good compiler: == # r1 is 0x**XX (XX = value to store in the f1 field) # r3 is the target address (ps) # r9 is 0x**

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-14 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #9 from Dominik Vogt --- > or %r1,%r2 # 32-bit or r1 := r1 | r2 -> 0xXX00 This should be or %r1,%r2 # 32-bit or r1 := r1 |

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-15 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #10 from Dominik Vogt --- This is what's happening: Before the dse2 pass, there is a store instruction (25) followed by a read instruction later (29): --- # store first byte (insn 25 135 136 4 (set (mem/j:QI (reg/v/f:DI 2 %r2 [orig:

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-15 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #11 from Dominik Vogt --- This is the bug report for the problem that the patch fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557

[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr

2015-10-15 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug go/67976] New: Cgo + Gccgo not working like Cgo + Golang?

2015-10-15 Thread vogt at linux dot vnet.ibm.com
Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com CC: cmang at google dot com Target Milestone: --- The authors of the Ethereum project seem to assume that cgo can handle the code below in a sensible way, but when using the -gccgo option that

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-15 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-18 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #14 from Dominik Vogt --- This is the thread discussing the patch that introduced the if-condition above to ao_ref_from_mem: https://gcc.gnu.org/ml/gcc-patches/2009-09/msg01638.html

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-18 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #15 from Dominik Vogt --- The original problem was that a 4-byte load (or whatever) from memory M into an 8-byte-register on bigendian machines is represented by a memory reference of size 8 starting at M-4? This problem was present

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #17 from Dominik Vogt --- > So does [patch] fix the issue? Yes. The testsuite on 64-bit and 31-bit systems has no regressions with the patch either.

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #19 from Dominik Vogt --- This is a cleaner test case for s390/s390x. If there was a way to tell gcc "all registers except the first three argument registers are not available", the test should be fairly easy to convert to other targ

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-20 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #20 from Dominik Vogt --- Created attachment 36553 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36553&action=edit Dejagnu test case for s390/s390x.

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #3 from Dominik Vogt --- To narrow down where the problem happens please try this: 1. Edit the first line of the file build/env.sh and append "-a": #!/bin/sh -a 2. Locate the gccgo executable (whould be in the path GOBIN that is se

[Bug rtl-optimization/67443] [5/6 regression] DSE removes required store instruction

2015-10-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443 --- Comment #21 from Dominik Vogt --- Trying to write a test case for Power, I was unable to force the bug to show in the first place. Although I can force the addresses used into different registers, dead store elimination on power does not kil

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #5 from Dominik Vogt --- Unfortunately I cannot reproduce this yet. Please try to identify the "faulty" source file and strip it down to the minimum. 1. Find out in which file the ICE occurs. 1.a Recompile GCC with debug informatio

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #6 from Dominik Vogt --- @Ian: Any hints to help Gong isolating the problem?

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #8 from Dominik Vogt --- I had been testing with the latest gcc-5-branch and didn't see any ICEs but a lot of other problems with the ethereum package that may be the fault of the code or cgo, I don't know. I can see the ICE on Gong'

[Bug go/67976] Cgo + Gccgo not working like Cgo + Golang?

2015-10-23 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67976 --- Comment #1 from Dominik Vogt --- When cgo encounters the "C.foo_cgo", it determines that it must be a variable, but finds no C definition, so it generates "extern char foo_cgo[]" (out.go) as the type. This conflicts with the declaration in t

[Bug go/68072] New: malformed DWARF TagVariable entry

2015-10-23 Thread vogt at linux dot vnet.ibm.com
Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com CC: cmang at google dot com Target Milestone: --- Host: s390x Target: s390x Build: s390x Compiling the package crypto/secp256k1 from the go-ethereum package yields

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #10 from Dominik Vogt --- We cannot reproduce the crash on x86_64.

[Bug go/68072] malformed DWARF TagVariable entry

2015-10-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #1 from Dominik Vogt --- It seems that the DWARF library is unable to handle DW_AT_specification: -- snip -- <1><7b4>: Abbrev Number: 27 (DW_TAG_variable) <7b5> DW_AT_specification: <0x8b> <7b9> DW_AT_decl_file : 13

[Bug go/68072] malformed DWARF TagVariable entry

2015-10-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #3 from Dominik Vogt --- Created attachment 36588 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36588&action=edit Experimental fix The attached patch fixes the problem for us by skipping DW_TAG_variable DWARF info that only co

[Bug go/68072] malformed DWARF TagVariable entry

2015-10-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #4 from Dominik Vogt --- @comment 2 I can't see anything special that the file does: -- secp256.go -- package secp256k1 /* #cgo CFLAGS: -I./secp256k1 ... #include "./secp256k1/src/secp256k1.c" */ import "C" -- END -- Then in -- s

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #11 from Dominik Vogt --- Created attachment 36596 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36596&action=edit Minimal test code The attached test code causes the ICE on s390x and x86_64 using gccgo-5.2.0.

[Bug go/67976] Cgo + Gccgo not working like Cgo + Golang?

2015-10-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67976 --- Comment #3 from Dominik Vogt --- When do you expect Go 1.5 to be merged?

[Bug go/67968] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:1812

2015-10-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67968 --- Comment #12 from Dominik Vogt --- The test code also crashes on x86_64 with the current gcc-5-branch and the gcc-6 development branch.

[Bug go/67976] Cgo + Gccgo not working like Cgo + Golang?

2015-10-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67976 --- Comment #4 from Dominik Vogt --- The patch behind the link in comment 2 fixes the problem.

[Bug go/68255] New: cgo-generated constructor not being called

2015-11-09 Thread vogt at linux dot vnet.ibm.com
Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com CC: cmang at google dot com Target Milestone: --- Host: s390x Target: s390x Created attachment 36669 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36669&

[Bug go/68255] cgo-generated constructor not being called

2015-11-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68255 --- Comment #1 from Dominik Vogt --- Created attachment 36675 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36675&action=edit Experimental fix. The attached patch fixes the problem in the "go" tool by forcing the --whole-archive linker op

[Bug go/68255] cgo-generated constructor not being called

2015-11-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68255 --- Comment #5 from Dominik Vogt --- Great, thanks! My internal customer has confirmed that this patch fixes his problem with Ethereum.

[Bug go/68072] malformed DWARF TagVariable entry

2015-11-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #5 from Dominik Vogt --- Any opinions on the patch in comment 3?

[Bug go/68255] cgo-generated constructor not being called

2015-11-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68255 --- Comment #6 from Dominik Vogt --- > My internal customer has confirmed that this patch fixes his problem with > Ethereum. (He had verified the patch I sent, not yet the patch that was committed.)

[Bug go/68072] malformed DWARF TagVariable entry

2015-11-17 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #7 from Dominik Vogt --- All right, I'll try to extract a minimal test case.

[Bug go/68072] malformed DWARF TagVariable entry

2015-11-18 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68072 --- Comment #8 from Dominik Vogt --- Created attachment 36750 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36750&action=edit Test case This is the requested minimal test program.

[Bug go/64999] New: s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
Assignee: ian at airs dot com Reporter: vogt at linux dot vnet.ibm.com CC: cmang at google dot com With the current trunk I get a test failure in the runtime/pprof test. I'll start investigating what's going on now but wanted to report it beforehand.

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #1 from Dominik Vogt --- These entries looks screwed to me: -- snip -- 32: 1024 [32: 1024] @ ... #0x8000c44b ...allocatePersistent1K ... mprof_test.go:43 #0x8000c595 ...TestMemoryProfiler ... mprof_test.go:65 ... 0: 0 [1: 32

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #4 from Dominik Vogt --- The stack traces in gdb look good: line 64: #0 __go_new (td=td@entry=0x8010c8e8 <__go_td_S1_xAN5_uint81024ee>, size=size@entry=1024) at ../../../libgo/runtime/go-new.c:14 #1 0x8000c32c

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #5 from Dominik Vogt --- Just noticed that all function offsets in the stack traces are broken. On s390x, only even offsets are valid, but all the numbers are odd, e.g. pprof_test.allocatePersistent1K+0x23

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #7 from Dominik Vogt --- The "--pc" is definitely the cause of the bogus addresses. To me it seems that these addresses are intended to identify the function and source line from the dwarf info, not to be printed out as a real addres

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-10 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #8 from Dominik Vogt --- The cause for this bug is the interaction between the "--pc" and this code snippet from printStackRecord() in pprof.go: ... if runtime.GOARCH == "s390" || runtime.GOARCH == "s390x" { // only works if fu

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-11 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #10 from Dominik Vogt --- As far as I understand, the code in libbacktrace was originally only intended for handling exceptions, not for generating stack traces? For the former, the code is fine. But given a function's return addres

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-16 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #13 from Dominik Vogt --- I see. But what bug or bugs do we have here then? Current symptoms are: (1) A bogus call addres may be stored in the backtrace structure (i.e. next instruction's address minus 1). (2) The address from (1)

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-16 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #14 from Dominik Vogt --- Created attachment 34773 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34773&action=edit Experimental fix The attached patch is a sketch of a possible fix (at the expense of duplicating some code from

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-16 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #15 from Dominik Vogt --- P.S.: The patch only addresses s390 and s390x.

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-17 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #17 from Dominik Vogt --- runtime.Callers is not called in this test case, so changing it won't help.

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-17 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #18 from Dominik Vogt --- Created attachment 34788 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34788&action=edit Different fix How about this patch to the callback() function in go-callers.c to modify the incoming pc. The a

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-18 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #20 from Dominik Vogt --- runtime_MProf_Malloc() calls runtime_callers() without going through runtime.Callers(): #0 runtime_callers (skip=skip@entry=1, locbuf=locbuf@entry=0xc2094734b8, m=m@entry=32, keep_thunks=keep_thunks@en

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-18 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #22 from Dominik Vogt --- You mean the function saveg() code in mprof.goc? I'm actually not sure how the above patch to runtime_callers() interacts with all the other functions that call runtime_callers(). :-/

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-26 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #29 from Dominik Vogt --- (In reply to Ian Lance Taylor from comment #27) > The problem is that we can't represent full file/line > information using a single PC value, because a single PC value can't > represent inlined functions. W

[Bug go/52357] 64bit-out.go and go.test/test/cmplxdivide.go time out on Solaris/SPARC

2015-02-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52357 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com

[Bug go/64999] s390x libgo test failure in TestMemoryProfiler

2015-02-27 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64999 --- Comment #35 from Dominik Vogt --- I'd like to bring back to attention the fact that the code that deducts six from the pc (s390x) in pprof.go is broken regardless of what patches are made to the runtime code. Determining the size of the call

[Bug go/60406] recover.go: test13reflect2 test failure

2014-10-28 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60406 --- Comment #29 from Dominik Vogt --- Thanks! > It's necessary to handle all cases correctly. But there is nothing wrong > with using an efficient mechanism when it works, as long as we can correctly > fall back to a more expensive mechanism wh

[Bug go/63269] libgo/math test failures in TestLog2

2014-11-05 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63269 --- Comment #4 from Dominik Vogt --- regarding 2) > I'm not entirely persuaded by your argument for item 2. ... Hm, good that you doubted it, because the actual mistake is somehwere else: The unpatched code has if l != float64(i) but if yo

[Bug go/63269] libgo/math test failures in TestLog2

2014-11-05 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63269 --- Comment #5 from Dominik Vogt --- regarding 1) My earlier explanation of the problem was wrong. Multiply and add is not generated; it probably only was in the artificial test case that I made and certainly did not compile with -ffp-contract=

[Bug go/63269] libgo/math test failures in TestLog2

2014-11-06 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63269 --- Comment #6 from Dominik Vogt --- (In reply to Ian Lance Taylor from comment #3) > First, let me say that this code is in the Go master library and must be > fixed there. It might be more effective to discuss it on the Go issue > tracker at h

[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-11-07 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573 --- Comment #10 from Dominik Vogt --- This still happens for me on s390x on "git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217069 138bc75d-0d04-0410-961f-82ee72b054a4". Is this supposed to be fixed by now? Is one of the above patches applied?

[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-11-07 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573 --- Comment #11 from Dominik Vogt --- With the two patches for calls.c and expr.c atop the said commit the ICE is gone on s390x.

[Bug bootstrap/63573] [5 Regression] libgo: ICE building libgo on powerpc-linux-gnu

2014-11-24 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63573 --- Comment #21 from Dominik Vogt --- With today's HEAD, the ICE in libgo is gone (s390x). Thanks.

[Bug go/64198] New: ICE in gofrontend

2014-12-05 Thread vogt at linux dot vnet.ibm.com
airs dot com Reporter: vogt at linux dot vnet.ibm.com CC: cmang at google dot com This test program genererates an ICE with the current gccgo HEAD: -- snip -- package main func main() { var x int = 0 println(x++) } -- snip -- ==> $ gccgo foo.go foo.go:4

[Bug other/61895] New: libbacktrace crashes with bus error with empty file argv[0]

2014-07-24 Thread vogt at linux dot vnet.ibm.com
Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: vogt at linux dot vnet.ibm.com Docker uses a call of the exec family to start a new process with a bogus argv[0] argument, i.e. argv[0] points to an empty file, not a real executable

[Bug other/61895] libbacktrace crashes with bus error with empty file argv[0]

2014-07-28 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61895 --- Comment #1 from Dominik Vogt --- > execv(argv[0], &argv[1]); ^^^ ^^^ 1 2 Sorry.

<    1   2   3   4   5   >