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]

RFC: Thumb and unwind information


Some time ago, Richard Earnshaw pointed out to me that we generate no useful
.debug_frame information for Thumb.  The basic reason is that the
interesting portions of the prologues and epilogues are still emitted as
text.  Thumb prologues can be, to say the least, complicated.

I'm going to try my hand at fixing this.  I see two ways:
  - Emit more of this as RTL.
  - Emit it as an unspec and generate an RTX_FRAME_RELATED_EXPR
    SEQUENCE that describes it well enough for the unwind information.

I don't know if the former would have major benefits.  It would definitely
be complicated, scheduling opportunity would be minimal, and the extra RTL
would presumably slow down GCC.  The latter would be simpler.  I think the
only major change it will require will be support for labels in the
SEQUENCE to indicate that not everything happens all at once at the end of
the prologue.  This could also be used to fix unwind information for ARM
multi-instruction returns when a single ldmia can't be used.

Thoughts?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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