Bug 41252 - [4.5 Regression] Var tracking by default breaks arm-none-eabi build of newlib
Summary: [4.5 Regression] Var tracking by default breaks arm-none-eabi build of newlib
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Alexandre Oliva
Depends on:
Reported: 2009-09-03 21:59 UTC by Ramana Radhakrishnan
Modified: 2009-09-04 19:02 UTC (History)
2 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: arm-none-eabi
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2009-09-03 23:52:36

Testcase for ICE (4.15 KB, text/plain)
2009-09-03 22:00 UTC, Ramana Radhakrishnan

Note You need to log in before you can comment on or make changes to this bug.
Description Ramana Radhakrishnan 2009-09-03 21:59:36 UTC
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.\
#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
Comment 1 Ramana Radhakrishnan 2009-09-03 22:00:30 UTC
Created attachment 18484 [details]
Testcase for ICE

Testcase from newlib build.
Comment 2 Alexandre Oliva 2009-09-04 19:00:14 UTC
Subject: Bug 41252

Author: aoliva
Date: Fri Sep  4 18:59:50 2009
New Revision: 151437

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151437
PR target/41252
* config/arm/vfp.md (*cmpdf_split_vfp): Fix src mode in the second
pattern of the split.


Comment 3 Alexandre Oliva 2009-09-04 19:02:59 UTC