Hi, Bootstrap with the reload-branch dies on ia64 in stage0 while building unwind-ia64.c:
./xgcc -B./ -B/usr/local/ia64-unknown-linux-gnu/bin/ -isystem /usr/local/ia64-unknown-linux-gnu/include -isystem /usr/local/ia64-unknown-linux-gnu/sys-include -L/abuild/stevenb/build/gcc/../ld -O2 -DIN_GCC -DUSE_LIBUNWIND_EXCEPTIONS -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DUSE_GAS_SYMVER -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../reload-branch/gcc -I../../reload-branch/gcc/. -I../../reload-branch/gcc/../include -I../../reload-branch/gcc/../libcpp/include -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c ../../reload-branch/gcc/config/ia64/unwind-ia64.c -o libgcc/./unwind-ia64.o ../../reload-branch/gcc/config/ia64/unwind-ia64.c: In function 'alloc_reg_state': ../../reload-branch/gcc/config/ia64/unwind-ia64.c:312: warning: pointer targets in passing argument 1 of 'atomic_alloc' differ in signedness ../../reload-branch/gcc/config/ia64/unwind-ia64.c: In function 'free_reg_state': ../../reload-branch/gcc/config/ia64/unwind-ia64.c:328: warning: pointer targets in passing argument 1 of 'atomic_free' differ in signedness ../../reload-branch/gcc/config/ia64/unwind-ia64.c: In function 'alloc_label_state': ../../reload-branch/gcc/config/ia64/unwind-ia64.c:345: warning: pointer targets in passing argument 1 of 'atomic_alloc' differ in signedness ../../reload-branch/gcc/config/ia64/unwind-ia64.c: In function 'free_label_state': ../../reload-branch/gcc/config/ia64/unwind-ia64.c:361: warning: pointer targets in passing argument 1 of 'atomic_free' differ in signedness ../../reload-branch/gcc/unwind.inc: In function '_Unwind_Backtrace': ../../reload-branch/gcc/unwind.inc:313: error: Attempt to delete prologue/epilogue insn: (insn/f 137 136 138 0 ../../reload-branch/gcc/unwind.inc:285 (set (reg:DI 33 r35) (reg:DI 320 b0)) -1 (nil) (nil)) ../../reload-branch/gcc/unwind.inc:313: internal compiler error: in propagate_one_insn, at flow.c:1689 Please submit a full bug report, with preprocessed source if appropriate. I've reduced the test case and attached it. I haven't looked into this any further (I understand neither reload nor ia64 ;-), but if it can't be reproduced on a cross, I can ask Andreas Schwab to look at it a bit more... Gr. Steven typedef enum { _URC_NO_REASON = 0, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 2, _URC_FATAL_PHASE1_ERROR = 3, _URC_NORMAL_STOP = 4, _URC_END_OF_STACK = 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 7, _URC_CONTINUE_UNWIND = 8 } _Unwind_Reason_Code; struct _Unwind_Context { int i; }; typedef struct _Unwind_FrameState_d { int i; } _Unwind_FrameState; typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (struct _Unwind_Context *, void *); extern void uw_update_context (struct _Unwind_Context *, _Unwind_FrameState *); extern void uw_init_context_1 (struct _Unwind_Context *, void *); extern _Unwind_Reason_Code uw_frame_state_for (struct _Unwind_Context *, _Unwind_FrameState *); _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn trace, void * trace_argument) { struct _Unwind_Context context; _Unwind_Reason_Code code; do { __builtin_unwind_init(); uw_init_context_1 (&context, __builtin_ia64_bsp ()); } while (0); while (1) { _Unwind_FrameState fs; code = uw_frame_state_for (&context, &fs); if (code != _URC_NO_REASON && code != _URC_END_OF_STACK) return _URC_FATAL_PHASE1_ERROR; if ((*trace) (&context, trace_argument) != _URC_NO_REASON) return _URC_FATAL_PHASE1_ERROR; if (code == _URC_END_OF_STACK) break; uw_update_context (&context, &fs); } return code; }