------- Comment #2 from danglin at gcc dot gnu dot org 2007-01-10 00:44 ------- Still see this in 4.0.4. Gdb is now working somewhat better. Here's a better backtrace:
Program received signal SIGSEGV, Segmentation fault. _Unwind_SjLj_RaiseException (exc=0x40012808) at ../../gcc/gcc/unwind-sjlj.c:255 255 fs->personality = context->fc->personality; (gdb) bt #0 _Unwind_SjLj_RaiseException (exc=0x40012808) at ../../gcc/gcc/unwind-sjlj.c:255 #1 0x0003a378 in __gnat_Unwind_RaiseException (e=0x4) at raise.c:1100 #2 0x00013788 in ada.exceptions.exception_propagation.propagate_exception ( from_signal_handler=4) at a-exexpr.adb:579 #3 0x00014708 in ada.exceptions.process_raise_exception (e=0x4, from_signal_handler=false) at a-except.adb:813 #4 0x000147d0 in <__gnat_raise_nodefer_with_msg> (e=0x4) at a-except.adb:902 #5 0x0001485c in <__gnat_raise_exception> (e=0x40002548, message=<incomplete type>) at a-except.adb:932 #6 0x0002c814 in ada.text_io.editing.precalculate ([EMAIL PROTECTED]) at a-teioed.adb:2688 #7 0x0002f978 in ada.text_io.editing.valid (pic_string= {P_ARRAY = 0x40011240, P_BOUNDS = 0x40011238}, blank_when_zero=false) at a-teioed.adb:2762 #8 0x00037500 in _ada_cxf3a01 () (gdb) p/x $pc $1 = 0x485ec (gdb) disass 0x485dc 0x485fc Dump of assembler code from 0x485dc to 0x485fc: 0x000485dc <_Unwind_SjLj_RaiseException+60>: stw ret0,-78(sp) 0x000485e0 <_Unwind_SjLj_RaiseException+64>: movb,= ret0,r22,0x48608 <_Unwind_SjLj_RaiseException+104> 0x000485e4 <_Unwind_SjLj_RaiseException+68>: stw ret0,-74(sp) 0x000485e8 <_Unwind_SjLj_RaiseException+72>: ldo -74(sp),r3 0x000485ec <_Unwind_SjLj_RaiseException+76>: ldw 18(r22),r22 0x000485f0 <_Unwind_SjLj_RaiseException+80>: cmpib,<> 0,r22,0x48624 <_Unwind_SjLj_RaiseException+132> 0x000485f4 <_Unwind_SjLj_RaiseException+84>: copy r19,r4 0x000485f8 <_Unwind_SjLj_RaiseException+88>: ldw -74(sp),ret0 End of assembler dump. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25819