This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: [rfa] Attach vsyscall support for GNU/Linux


   Date: Fri, 5 Nov 2004 18:42:30 -0500
   From: Daniel Jacobowitz <drow@false.org>

   How about this, in the meantime?  If you don't like the approach, I'll
   wait until we can properly decide the relationship between unwinders
   and frame types.

   This patch adds a new sniffer, dwarf2_signal_frame_sniffer, which will
   only accept the frame if an architecture-specific hook has claimed that
   this is a signal frame (i386 GNU/Linux provides one that works by
   name).  However, we then use the CFI normally - the only difference is
   that the result has SIGTRAMP_FRAME as its type.  It works beautifully! 
   Tested on i386-pc-linux-gnu, with vsyscall DSO.

Within the current framework this seems to be a reasonable approach.
Actually it's a lot less invasive than I envisioned this to be.  So,
actually I like it ;-).  Thanks!  I'm wondering though whether we need
the seperate dwarf2_signal_frame_sniffer.  Actually I'm sure we don't.
Targets that don't want this simply shouldn't provide the
signal_frame_p() function.  Can you fix that?  Just change
dwarf2_frame_sniffer such that it checks signal_frame_p() and returns
&dwarf2_sigtramp_frame_unwind instead of &dwarf2_frame_unwind if it's
true.

Oh, and please check the dwarf2-frame.* changes in as a seperately
from the vsyscall changes.

Cheers,

Mark


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