public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "howarth at nitro dot med.uc.edu" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/48097] new Throw_2 failures in libjava under Xcode 4.0
Date: Fri, 18 Mar 2011 00:45:00 -0000	[thread overview]
Message-ID: <bug-48097-4-f9LRRNxbTv@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-48097-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #4 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-03-18 00:45:08 UTC ---
The darwin linker developer says....
----------------------------------------------------------------------------
This is not a tools bug.  It worked by luck with Xcode3 tools.  The is a
runtime bug in the uwinder.

The Throw2.exe does not matter.  All that matters is the libgcj.12.dylib
binary.  The test installs a signal handler and which turns the signal into a
C++ exception and throws it. This means it has to unwind through a sigtramp.
This generally works, but in this case the bus error happens on the first
instruction in a function (java::lang::String::length()).   When the unwinder
walks the stack, it assumes each address on the stack is a return address,
which means it is the address *after* the CALL site, so you look for an FDE
from with an address that covers the byte before the address you are looking
for.

In the xcode3 built libgcj.12.dylib, there was a function right before
java::lang::String::length().  In the xcode4 case there are pad bytes before
that function and the pad bytes are not covered by the FDE.  So at runtime, the
unwinder cannot find an FDE for the start address of
java::lang::String::length, hence the abort.


  parent reply	other threads:[~2011-03-18  0:45 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-12 21:28 [Bug target/48097] New: " howarth at nitro dot med.uc.edu
2011-03-12 21:35 ` [Bug target/48097] " howarth at nitro dot med.uc.edu
2011-03-12 21:37 ` howarth at nitro dot med.uc.edu
2011-03-17 20:18 ` howarth at nitro dot med.uc.edu
2011-03-18  0:45 ` howarth at nitro dot med.uc.edu [this message]
2011-03-18  8:18 ` jakub at gcc dot gnu.org
2011-03-18  8:35 ` iains at gcc dot gnu.org
2011-03-18  8:55 ` jakub at gcc dot gnu.org
2011-03-18 17:48 ` howarth at nitro dot med.uc.edu
2012-02-26  8:15 ` howarth at nitro dot med.uc.edu
2013-09-14 15:47 ` iains at gcc dot gnu.org
2013-09-16 14:38 ` howarth at nitro dot med.uc.edu
2021-02-28 15:35 ` [Bug target/48097] gcc sometimes generates code that uses the buggy libgcc_s unwinder on darwin (originally exposed by Throw_2 failures in libjava testsuite under Xcode 4.0) egallager at gcc dot gnu.org
2021-03-01 19:37 ` cvs-commit at gcc dot gnu.org
2021-03-21 23:52 ` cvs-commit at gcc dot gnu.org
2021-05-01 13:08 ` cvs-commit at gcc dot gnu.org
2021-08-27 14:38 ` iains at gcc dot gnu.org

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=bug-48097-4-f9LRRNxbTv@http.gcc.gnu.org/bugzilla/ \
    --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).