public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Roland McGrath <roland@redhat.com>
To: Mark Kettenis <kettenis@gnu.org>
Cc: gdb@sources.redhat.com
Subject: gdb/dwarf-frame.c
Date: Fri, 09 May 2003 09:45:00 -0000	[thread overview]
Message-ID: <200305090945.h499jTH13137@magilla.sf.frob.com> (raw)

(Hi Mark!  It's been too long since we hacked together.)
[Please note that I am not on the mailing list, so keep me CC'd directly.]

I have been looking at the kettenis_i386newframe-20030419-branch gdb code.
I've been told that the new dwarf-frame.c replaces the dwarf2cfi.c code
that's on mainline.  I don't know the guts of either or of DWARF2 itself
well enough to compare them.

What I have noticed is that dwarf-frame.c does not seem to handle the
.eh_frame section, only the .debug_frame section.  The dwarf2cfi.c code
looks at both.  As well as looking for the section, it needs to grok the
"augmentation" values and different encodings used in .eh_frame, and I
don't see any of that handled in the new code.  Is this an intentional
omission and if so what is the rationale?

I think grokking .eh_frame sections in the absence of .debug_frame is a
nice thing in general--it might give you at least some more helpful
backtraces than otherwise when dealing with binaries without debugging
info.  But the particular reason it is of concern to me is that it's needed
for unwinding PC values within the special kernel entrypoint page now being
used in Linux on x86.  glibc now uses this entrypoint code for every system
call, and so any thread blocked in a system call (which most threads one
looks at are when one starts looking) will have its PC inside this code and
need to be able to unwind that frame-pointer-less leaf frame to produce a
useful backtrace.  This is magic kernel code for which there is never going
to be debugging information, but for which we do have .eh_frame information
we can get at.  I am setting about attacking how we get at it in all the
relevant cases, but I had been working from the assumption that upon
locating some information in .eh_frame form (including "zR" augmentation
and pcrel pointer encoding) it would plug easily into the DWARF2 unwinding
machinery.  If that's not so, it throws a monkey wrench into my plans.


Thanks,
Roland

             reply	other threads:[~2003-05-09  9:45 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-09  9:45 Roland McGrath [this message]
2003-05-09 13:41 ` gdb/dwarf-frame.c Daniel Jacobowitz
2003-05-09 14:10   ` gdb/dwarf-frame.c Elena Zannoni
2003-05-09 14:56     ` NPTL thread support H. J. Lu
2003-05-09 15:44       ` Elena Zannoni
     [not found]         ` <20030509091522.A2960@lucon.org>
     [not found]           ` <16059.55278.841645.134311@localhost.redhat.com>
2003-05-11 20:46             ` H. J. Lu
2003-05-12 19:24               ` J. Johnston
2003-05-12 20:08                 ` H. J. Lu
2003-05-12 20:15                   ` David Carlton
2003-05-12 21:09                     ` Andrew Cagney
2003-05-12 21:18                       ` David Carlton
2003-05-12 21:23                         ` Daniel Jacobowitz
2003-05-12 20:17                   ` Elena Zannoni
2003-05-09 17:01     ` gdb/dwarf-frame.c Andrew Cagney
2003-05-09 17:08       ` gdb/dwarf-frame.c Elena Zannoni
2003-05-09 19:43       ` gdb/dwarf-frame.c Mark Kettenis
2003-05-09 21:19         ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 21:48           ` gdb/dwarf-frame.c Elena Zannoni
2003-05-09 22:17             ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 21:54           ` gdb/dwarf-frame.c Andrew Cagney
2003-05-09 21:58           ` gdb/dwarf-frame.c Daniel Jacobowitz
2003-05-09 22:18             ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 22:28         ` gdb/dwarf-frame.c Andrew Cagney
2003-05-09 22:33           ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 20:32   ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 19:36 ` gdb/dwarf-frame.c Mark Kettenis
2003-05-09 21:34   ` gdb/dwarf-frame.c Roland McGrath
2003-05-09 21:46     ` gdb/dwarf-frame.c Elena Zannoni
2003-05-10  7:07   ` gdb support for Linux vsyscall DSO Roland McGrath
2003-05-10 17:24     ` Andrew Cagney
2003-05-10 18:13       ` Daniel Jacobowitz
2003-05-10 19:42         ` Roland McGrath
2003-05-10 21:49           ` Andrew Cagney
2003-05-12 19:23             ` Andrew Cagney
2003-05-13  2:29               ` Roland McGrath
2003-05-13 16:03                 ` Andrew Cagney
2003-05-10 21:28       ` Roland McGrath
2003-05-10 17:55     ` Mark Kettenis
2003-05-10 20:27       ` Roland McGrath
2003-05-11 23:14         ` Mark Kettenis
2003-05-13  1:53           ` Roland McGrath
2003-05-15 21:26             ` Mark Kettenis
2003-05-16  2:25               ` Roland McGrath

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200305090945.h499jTH13137@magilla.sf.frob.com \
    --to=roland@redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=kettenis@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).