The patch from rtl-optimization/23478 breaks Ada:
$ gdb --args ../../gnat1 -quiet -dumpbase a-stzmap.adb -O2 -W -Wall -fPIC -g
-gnatpg -gnatO a-stzmap.o a-stzmap.adb -o /tmp/ccH9s7Af.s
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "ia64-suse-linux"...Using host libthread_db library
Starting program: /tmp/cvs/gcc-test-20050823/Build/gcc/gnat1 -quiet -dumpbase
a-stzmap.adb -O2 -W -Wall -fPIC -g -gnatpg -gnatO a-stzmap.o a-stzmap.adb
Program received signal SIGSEGV, Segmentation fault.
add_missing_bbs (before=0x200000000043ad40, first=0x20000000003c0e38,
220 BB_HEAD (last) = before;
#0 add_missing_bbs (before=0x200000000043ad40, first=0x20000000003c0e38,
last=0x0) at sched-ebb.c:220
#1 0x4000000000dbbd00 in schedule_ebbs (dump_file=0x20000000004dfc50)
#2 0x4000000000b1f040 in ia64_reorg () at ia64.c:7701
#3 0x4000000000db1b90 in rest_of_handle_machine_reorg () at reorg.c:3864
#4 0x4000000000ac4ca0 in execute_one_pass (pass=0x60000000000156d0)
#5 0x4000000000ac4f90 in execute_pass_list (pass=0x60000000000156d0)
#6 0x4000000000ac4fe0 in execute_pass_list (pass=0x6000000000013338)
#7 0x4000000000ac4fe0 in execute_pass_list (pass=0x6000000000013380)
#8 0x40000000005dab80 in tree_rest_of_compilation (fndecl=0x20000000003eed00)
#9 0x4000000000039690 in gnat_expand_body (gnu_decl=0x20000000003eed00)
#10 0x4000000000b4b650 in cgraph_expand_function (node=0x20000000005af650)
#11 0x4000000000b4f8c0 in cgraph_optimize () at cgraphunit.c:1103
#12 0x400000000003af60 in gnat_parse_file (set_yydebug=10846160) at
misc.c:245#13 0x4000000000a57fd0 in toplev_main (argc=268536,
#14 0x40000000005c71c0 in main (argc=268536, argv=0x6000000000041910)
This looks more like a target bug as this is being called from ia64's reorg.
I haven't been able to reproduce this. I tried building a stage1 IA-64 ada compiler on both x86_64 and IA-64, using both mainline and the 20050826 snapshot, and none of these 4 compilers triggered the bug.
I am fairly confident that my patch for PR 24232 fixed this though.
I will try to do an Ada bootstrap on my IA-64 machine, and I will assume this is fixed if the bootstrap succeeds. I'm not sure if I can do an Ada bootstrap though; it has been a while since I last tried. I will soon find out.
My build failed while building libada
../../xgcc -B../../ -c -g -O2 -fPIC -DUSE_GAS_SYMVER -W -Wall -gnatpg a-teioed.adb -o a-teioed.o
a-teioed.adb: In function 'Ada.Text_Io.Editing.Format_Number':
a-teioed.adb:843: error: call edges for non-call insn in bb 483
a-teioed.adb:843: error: call edges for non-call insn in bb 482
I haven't looked into this yet.
(In reply to comment #3)
> My build failed while building libada
That is PR 17356.
I believe this is fixed. I'm looking at 17356 now.