[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gcc armel status and armel architecture defaults



On Mon, Jan 13, 2014 at 08:32:49AM +0000, Ian Campbell wrote:
> On Mon, 2014-01-13 at 05:51 +0100, Matthias Klose wrote:

> > the gcc-4.9 in experimental fails to build while the one for armhf succeeds.
 
> For reference the logs are at:
> https://buildd.debian.org/status/fetch.php?pkg=gcc-4.9&arch=armel&ver=4.9-20140111-1&stamp=1389510444
 
> build/genpreds -c ../../src/gcc/config/arm/arm.md > tmp-constrs.h
> /bin/bash: line 1: 18632 Segmentation fault      build/genpreds -c ../../src/gcc/config/arm/arm.md > tmp-constrs.h

I did a local build of gcc-4.9 and got to the same point. build/genpreds succeeds 
if built with O0, and fails if built with -O1. Backtrace: 

Program received signal SIGSEGV, Segmentation fault.
needs_variable (exp=exp@entry=0x0, var=var@entry=0x1a438 "ival")
    at ../../src/gcc/genpreds.c:169
169       switch (GET_CODE (exp))
(gdb) bt
#0  needs_variable (exp=exp@entry=0x0, var=var@entry=0x1a438 "ival")
    at ../../src/gcc/genpreds.c:169
#1  0x0000a8e0 in write_tm_constrs_h () at ../../src/gcc/genpreds.c:1051
#2  main (argc=<optimized out>, argv=<optimized out>)
    at ../../src/gcc/genpreds.c:1400
(gdb) bt full
#0  needs_variable (exp=exp@entry=0x0, var=var@entry=0x1a438 "ival")
    at ../../src/gcc/genpreds.c:169
        __FUNCTION__ = "needs_variable"
#1  0x0000a8e0 in write_tm_constrs_h () at ../../src/gcc/genpreds.c:1051
        needs_ival = <optimized out>
        needs_hval = <optimized out>
        needs_lval = <optimized out>
        needs_rval = <optimized out>
        needs_mode = <optimized out>
        needs_op = <optimized out>
        c = 0x2c800
#2  main (argc=<optimized out>, argv=<optimized out>)
    at ../../src/gcc/genpreds.c:1400
        defn = <optimized out>
        pattern_lineno = 421
        next_insn_code = 3816
(gdb) p exp
$1 = (rtx) 0x0
(gdb) frame 1
#1  0x0000a8e0 in write_tm_constrs_h () at ../../src/gcc/genpreds.c:1051
1051            bool needs_ival = needs_variable (c->exp, "ival");
(gdb) p c
$3 = (constraint_data *) 0x2c800
(gdb) p *c
$4 = {next_this_letter = 0x0, next_textual = 0x2c828, name = 0x53930 "t", 
  c_name = 0x53930 "t", namelen = 1, 
  regclass = 0x53938 "TARGET_32BIT ? VFP_LO_REGS : NO_REGS", exp = 0x0, 
  lineno = 44, is_register = 0, is_const_int = 0, is_const_dbl = 0, 
  is_extra = 0, is_memory = 0, is_address = 0}
(gdb) 


Reply to: