The commit at r151362 broke the default build for arm-none-eabi in newlib with
the following ICE for the hard-float variant of the ABI. 

/home/ramana/cos/combined-git-master-cloned/newlib/libm/common/s_nextafter.c:
In function ‘nextafter’:
/home/ramana/cos/combined-git-master-cloned/newlib/libm/common/s_nextafter.c:119:1:
internal compiler error: in loc_cmp, at var-tracking.c:2429


The gdb backtrace is 


#0  fancy_abort (file=0x88e22e8
"/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c", line=2429,
function=0x88e2544 "loc_cmp") at
/home/ramana/cos/combined-git-master-cloned/gcc/diagnostic.\
c:728
#1  0x085cb959 in loc_cmp (x=0xb7d03240, y=0xb7d03230) at
/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:2429
#2  0x085cc333 in canonicalize_loc_order_check (slot=0x9190eb4, data=0x91b7ba8)
at /home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:2706
#3  0x0884eb36 in htab_traverse_noresize (htab=0x9190dc8, callback=0x85cc298
<canonicalize_loc_order_check>, info=0x91b7ba8) at
/home/ramana/cos/combined-git-master-cloned/libiberty/hashtab.c:750
#4  0x085d3460 in compute_bb_dataflow (bb=0xb7c0ce40) at
/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:5360
#5  0x085d3994 in vt_find_locations () at
/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:5493
#6  0x085d8f3f in variable_tracking_main () at
/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:7451
#7  0x0838a929 in execute_one_pass (pass=0x8a749a0) at
/home/ramana/cos/combined-git-master-cloned/gcc/passes.c:1292
#8  0x0838abac in execute_pass_list (pass=0x8a749a0) at
/home/ramana/cos/combined-git-master-cloned/gcc/passes.c:1341
#9  0x0838abbf in execute_pass_list (pass=0x8a723a0) at
/home/ramana/cos/combined-git-master-cloned/gcc/passes.c:1342
#10 0x0838abbf in execute_pass_list (pass=0x8a72360) at
/home/ramana/cos/combined-git-master-cloned/gcc/passes.c:1342
#11 0x08494260 in tree_rest_of_compilation (fndecl=0xb7c4a380) at
/home/ramana/cos/combined-git-master-cloned/gcc/tree-optimize.c:390
#12 0x0861b6ea in cgraph_expand_function (node=0xb7cccb00) at
/home/ramana/cos/combined-git-master-cloned/gcc/cgraphunit.c:1111
#13 0x0861e1ad in cgraph_finalize_compilation_unit () at
/home/ramana/cos/combined-git-master-cloned/gcc/cgraphunit.c:1170
#14 0x080d2a8b in c_write_global_declarations () at
/home/ramana/cos/combined-git-master-cloned/gcc/c-decl.c:9378
#15 0x0843a25b in compile_file () at
/home/ramana/cos/combined-git-master-cloned/gcc/toplev.c:1050
#16 0x0843c219 in do_compile () at
/home/ramana/cos/combined-git-master-cloned/gcc/toplev.c:2372
#17 0x0843c2de in toplev_main (argc=5, argv=0xbfd764d4) at
/home/ramana/cos/combined-git-master-cloned/gcc/toplev.c:2414
#18 0x08158db2 in main (argc=Cannot access memory at address 0x0


and looking at the session in gdb 


(gdb) up
#1  0x085cb959 in loc_cmp (x=0xb7d03240, y=0xb7d03230) at
/home/ramana/cos/combined-git-master-cloned/gcc/var-tracking.c:2429
(gdb) p x
$5 = (rtx) 0xb7d03240
(gdb) pr
(reg:CCFP 24 cc)
(gdb) p y
$6 = (rtx) 0xb7d03230
(gdb) pr
(reg:CCFPE 127 vfpcc)

GCC was configured with  --target=arm-none-eabi
--enable-languages=c,c++,fortran --with-cpu=cortex-a8 --with-fpu=neon
--with-float-abi=softfp

and the command line used on the test file was 

./xgcc -B`pwd` -S -O3 -g -mfloat-abi=hard ./s_nextafter.i


-- 
           Summary: Var tracking by default breaks arm-none-eabi build of
                    newlib
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ramana at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: arm-none-eabi


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41252

Reply via email to