This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Ada broken on mainline (Linux/AMD64)


Ada is broken on Linux/AMD64 with current GCC CVS mainline.

The problem is that building of gnatchop fails:

gromit:/builds/gcc/misc/gcc/ada/tools:[1]$ ../../xgcc -B../../ -c -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -fno-common      -gnatpg -gnata -I- -I../rts -I. -I/cvs/gcc/gcc/ada /cvs/gcc/gcc/ada/prj-nmsc.adb -o prj-nmsc.o -v
Reading specs from ../../specs
Configured with: /cvs/gcc/configure --prefix=/opt/gcc/3.5-devel --disable-nls --enable-threads=posix --enable-clocale=gnu --enable-__cxa_atexit --enable-shared --enable-languages=c,c++,ada,treelang,java,f77,objc --with-system-zlib x86_64-suse-linux-gnu
Thread model: posix
gcc version 3.5.0 20040418 (experimental)
 ../../gnat1 -I- -I../rts -I. -I/cvs/gcc/gcc/ada -quiet -dumpbase prj-nmsc.adb -g -gnatpg -gnata -O2 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -mtune=k8 -fno-common -gnatO prj-nmsc.o /cvs/gcc/gcc/ada/prj-nmsc.adb -o /tmp/cctCMBdZ.s
+===========================GNAT BUG DETECTED==============================+
| 3.5.0 20040418 (experimental) (x86_64-suse-linux-gnu) GCC error:         |
| in verify_local_live_at_start, at flow.c:568                             |
| Error detected at prj-nmsc.adb:2515:8                                    |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Unfortunatly make does not abort so I didn't notice this earlier
(thanks Laurent for notifying me about the omission of Ada results in
my automated emails).

(gdb) b flow.c:568
Breakpoint 1 at 0x66977f: file /cvs/gcc/gcc/flow.c, line 568.
(gdb) r

Breakpoint 1, verify_local_live_at_start (new_live_at_start=0x7fbfffd370,
    bb=0x126bea8) at /cvs/gcc/gcc/flow.c:568
568               abort ();
(gdb) bt
#0  verify_local_live_at_start (new_live_at_start=0x7fbfffd370, bb=0x126bea8)
    at /cvs/gcc/gcc/flow.c:568
#1  0x000000000066d35b in update_life_info (blocks=0x0,
    extent=UPDATE_LIFE_LOCAL, prop_flags=1) at /cvs/gcc/gcc/flow.c:728
#2  0x00000000008ce95c in regrename_optimize () at /cvs/gcc/gcc/regrename.c:363
#3  0x0000000000841a9a in rest_of_compilation (decl=0x2a967569c0)
    at /cvs/gcc/gcc/passes.c:698
#4  0x000000000041c477 in end_subprog_body () at /cvs/gcc/gcc/ada/utils.c:1925
#5  0x0000000000438874 in tree_transform (gnat_node=7286)
    at /cvs/gcc/gcc/ada/trans.c:2768
#6  0x000000000043db6f in gnat_to_code (gnat_node=Variable "gnat_node" is not available.
)
    at /cvs/gcc/gcc/ada/trans.c:240
#7  0x000000000043dd90 in process_decls (gnat_decls=Variable "gnat_decls" is not available.
)
    at /cvs/gcc/gcc/ada/trans.c:4650
#8  0x0000000000434d42 in tree_transform (gnat_node=1528) at sinfo.h:450
#9  0x000000000043db6f in gnat_to_code (gnat_node=Variable "gnat_node" is not available.
)
    at /cvs/gcc/gcc/ada/trans.c:240
#10 0x00000000004343bd in tree_transform (gnat_node=1369) at sinfo.h:838
#11 0x000000000043db6f in gnat_to_code (gnat_node=Variable "gnat_node" is not available.
)
    at /cvs/gcc/gcc/ada/trans.c:240
#12 0x00000000005f3813 in back_end.call_back_end (
    mode=back_end__generate_object) at back_end.adb:108
#13 0x00000000005f43c1 in _ada_gnat1drv () at gnat1drv.adb:619
#14 0x0000000000819df0 in toplev_main (argc=Variable "argc" is not available.
) at /cvs/gcc/gcc/toplev.c:1595
#15 0x0000002a95688e5d in __libc_start_main () from /lib64/tls/libc.so.6
#16 0x00000000004026ba in _start () at ../sysdeps/x86_64/elf/start.S:96
(gdb) p new_live_at_start
$1 = 0x7fbfffd370
(gdb) p *new_live_at_start
$2 = {first = 0x12c7148, current = 0x12c7148, indx = 0, using_obstack = 1}
(gdb) p bb->global_live_at_start
$3 = 0x13b5c30
(gdb) p *bb->global_live_at_start
$4 = {first = 0x12d6bc0, current = 0x12d6bc0, indx = 0, using_obstack = 1}
(gdb) p bb->global_live_at_start->first
$5 = (bitmap_element *) 0x12d6bc0
(gdb) p *bb->global_live_at_start->first
$6 = {next = 0x0, prev = 0x0, indx = 0, bits = {33122788835580, 0}}
(gdb) p new_live_at_start->first
$7 = (bitmap_element *) 0x12c7148
(gdb) p *new_live_at_start->first
$8 = {next = 0x0, prev = 0x0, indx = 0, bits = {33122788835581, 0}}

So, we have one bit different :-(

Any ideas?  Does ada work for others on mainline?

Btw. we should really abort in this case and not silently ignore the
failure :-(

Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]