public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "matz at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/29166] broken unwind information for many life variables resulting in register corruption
Date: Thu, 21 Sep 2006 13:39:00 -0000	[thread overview]
Message-ID: <20060921133921.8933.qmail@sourceware.org> (raw)
In-Reply-To: <bug-29166-12182@http.gcc.gnu.org/bugzilla/>



------- Comment #2 from matz at gcc dot gnu dot org  2006-09-21 13:39 -------
Some more analysis of the original bugreport (
https://bugzilla.novell.com/show_bug.cgi?id=201157 ) :

For gcc version 4.1.2 20060731 (prerelease) (SUSE Linux),
r4-r7 contain before the call:
  86, 87, 88, 89
and after the call:
  87, 88, 89, 4611686018427403552
(gdb) p/x $r7
$2 = 0x4000000000003d20
(gdb) info symbol $r7
test() + 64 in section .text
(gdb) b *$r7
Breakpoint 4 at 0x4000000000003d20: file unw.cc, line 85.
(gdb) l 85
80      }
81
82      void test()
83      {
84      try {
85       doIt();
86      } catch( Ex& ) { }
87      }
88
89      int main(char** argv, int argc)

The address in r7 is the return address of the call.  I googled a bit for
"unwind ia64 r4" and found e.g. this:
  http://www.gelato.unsw.edu.au/archives/linux-ia64/0506/14430.html
This is a patch for the kernel, but it's about using some wrong code
in it's own unwinder leading to clobber r4-7, so perhaps similar code is
used in libunwind?

Looks like the unwind information is broken, the addresses for the register
contents for r4-r7 is off-by-8.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29166


  parent reply	other threads:[~2006-09-21 13:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-21 13:34 [Bug middle-end/29166] New: " matz at gcc dot gnu dot org
2006-09-21 13:35 ` [Bug middle-end/29166] " matz at gcc dot gnu dot org
2006-09-21 13:39 ` matz at gcc dot gnu dot org [this message]
2006-09-21 13:40 ` matz at gcc dot gnu dot org
2006-11-15 15:52 ` [Bug target/29166] " matz at gcc dot gnu dot org
2006-11-24 22:20 ` patchapp at dberlin dot org
2006-11-24 22:31 ` pinskia at gcc dot gnu dot org
2007-01-01 22:03 ` schwab at gcc dot gnu dot org
2007-01-01 22:07 ` schwab at gcc dot gnu dot org
2007-01-01 22:11 ` schwab at suse dot de

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=20060921133921.8933.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.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).