public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <dan@codesourcery.com>
To: Ulrich Weigand <uweigand@de.ibm.com>
Cc: gdb-patches@sourceware.org, rearnsha@arm.com,
	matthew.gretton-dann@arm.com
Subject: Re: [rfc/rfa] Use ARM exception tables as GDB unwinder
Date: Thu, 21 Oct 2010 18:42:00 -0000	[thread overview]
Message-ID: <20101021184229.GR8337@caradoc.them.org> (raw)
In-Reply-To: <201010211826.o9LIQ9P5012162@d12av02.megacenter.de.ibm.com>

On Thu, Oct 21, 2010 at 08:26:09PM +0200, Ulrich Weigand wrote:
> One issue with this just occurred to me: comparing personality routines
> by *name* relies on symbol information being present.  Since we're doing
> the whole ARM unwinder support primarily to better cope with the case
> where symbol information is absent, this may be counter-productive ...
> 
> Is there some other way to recognize those particular unwinders?

Yes, it's true that this requires names.  Fortunately, in the usual
case they are in the dynamic symbol table.  So, I think you'll have
the names - or do we not see dynamic symbols here?

> Another, related topic: Running the GDB testsuite on a system without
> debug/symbol info, I'm still seeing failures in unwinding from interrupted
> system calls.  This is because the assembler code to do the syscall
> clobbers r7 without generating appropriate unwind records, and thus
> unwinding fails somewhere higher up the stack.
> 
> Now, this is exactly the problem you fixed by moving the actual syscall
> into a separate routine __libc_do_syscall.  However, this routine is
> only called from C code built for -mthumb.  C code built for -marm,
> as well as code originally in (ARM) assembler, will continue to use
> inline sequences clobbering r7.

This should work... the problem with r7 was that it's the hard frame
pointer for Thumb (even Thumb-2 - although it shouldn't be, most
likely, it's a wasteful choice).  So we couldn't mark it as
clobbered.  Does GCC not mark r7 as saved on the stack for the ARM
code?  It should know perfectly well that r7 is not unchanged.

-- 
Daniel Jacobowitz
CodeSourcery

  reply	other threads:[~2010-10-21 18:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-20  0:01 Ulrich Weigand
2010-10-20 11:14 ` Matthew Gretton-Dann
2010-10-21 15:39   ` Ulrich Weigand
2010-10-20 13:27 ` Daniel Jacobowitz
2010-10-21 15:51   ` Ulrich Weigand
2010-10-21 16:02     ` Daniel Jacobowitz
2010-10-21 18:26       ` Ulrich Weigand
2010-10-21 18:42         ` Daniel Jacobowitz [this message]
2010-10-21 20:29           ` Ulrich Weigand
2010-10-21 20:43             ` Daniel Jacobowitz
2010-12-01 16:45               ` Ulrich Weigand
2010-12-12  4:21                 ` Daniel Jacobowitz
2010-12-12 12:24                   ` Andreas Schwab
2011-03-09 19:11                   ` Ulrich Weigand
2011-03-11 22:35                     ` Daniel Jacobowitz
2011-03-19  4:25                       ` Ulrich Weigand
2011-03-21 14:51                         ` Daniel Jacobowitz
2011-03-21 20:06                           ` Ulrich Weigand
2010-10-21 22:26       ` Ulrich Weigand
2010-10-26 13:43         ` Daniel Jacobowitz

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=20101021184229.GR8337@caradoc.them.org \
    --to=dan@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=matthew.gretton-dann@arm.com \
    --cc=rearnsha@arm.com \
    --cc=uweigand@de.ibm.com \
    /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).