Hello, The rs6000 and cr16 backends and unwinding code have a define for the DWARF frame register for pre-GCC3 compatibility (PRE_GCC3_DWARF_FRAME_REGISTERS):
gcc/doc/tm.texi.in:@defmac PRE_GCC3_DWARF_FRAME_REGISTERS gcc/doc/tm.texi:@defmac PRE_GCC3_DWARF_FRAME_REGISTERS gcc/config/rs6000/rs6000.h:#define PRE_GCC3_DWARF_FRAME_REGISTERS 77 libgcc/unwind-dw2.c:#ifndef PRE_GCC3_DWARF_FRAME_REGISTERS libgcc/unwind-dw2.c:#define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS libgcc/unwind-dw2.c: long reg_or_offset[PRE_GCC3_DWARF_FRAME_REGISTERS+1]; libgcc/unwind-dw2.c: char saved[PRE_GCC3_DWARF_FRAME_REGISTERS+1]; libgcc/unwind-dw2.c: for (reg = 0; reg < PRE_GCC3_DWARF_FRAME_REGISTERS + 1; reg++) libgcc/config/cr16/unwind-cr16.c:#ifndef PRE_GCC3_DWARF_FRAME_REGISTERS libgcc/config/cr16/unwind-cr16.c:#define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS libgcc/config/cr16/unwind-cr16.c: long reg_or_offset[PRE_GCC3_DWARF_FRAME_REGISTERS+1]; libgcc/config/cr16/unwind-cr16.c: char saved[PRE_GCC3_DWARF_FRAME_REGISTERS+1]; libgcc/config/cr16/unwind-cr16.c: for (reg = 0; reg < PRE_GCC3_DWARF_FRAME_REGISTERS + 1; reg++) NB: The cr16 is a new port (contributed this year) but there is no listed maintainer and cr16/unwind-cr16.c appears to be an almost exact copy of libgcc/unwind-dw2.c except for a few __CR16C__ defines here and there... Why? Anyway, it seems to me that at least for cr16 there is no need for pre-GCC3 compatibility. Is this compatibility still needed for rs6000, or can all the PRE_GCC3_DWARF_FRAME_REGISTERS stuff be cleaned up? Ciao! Steven