public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "iains at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/44107] gcc emits frame (epilogue) info incompatible with the darwin {8,9}-unwinder,10-compacter
Date: Sat, 14 Sep 2013 11:58:00 -0000	[thread overview]
Message-ID: <bug-44107-4-TLlioHWPHC@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-44107-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #25 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to David Fang from comment #22)
> Do one of these apple libunwind sources (0.30, 0.35.1) correspond to what's
> bundled in libgcc_s in darwin8,9,10?
> 
> http://opensource.apple.com/tarballs/libunwind/

To be clear,

For OSX 10.4 (Darwin8) and 10.5 (Darwin9) libgcc is derived from gcc sources
(4.0.1) which are incompatible/buggy when combined with unwinder changes made
during 4.5.  The compact unwinder is not present and there is no need to
consider it at all.  

For OSX 10.6 (Darwin 10), the libgcc functionality has been pulled into
libSystem.dylib (and, I assume, is derived from BSD or other  sources).  IIRC,
the 10.6 compact unwinder issues are to do with the library used by ld64 to
build such code.  FSF-gcc does not produce compact unwinder code on 10.6, and
the non-compact variant works (at least insomuch as the test-suite passes).

So the only places that we need to "fix" things in order to have a working
unwinder are 10.4 and 10.5:

What matters there is having a FAT libgcc_s.dylib that supports the corrected
'normal' unwinder.  This can be achieved by building libgcc_s from recent (say
4.8) sources.  The only consideration then is whether one is prepared to
replace the Apple-provided version of libgcc_s with one that you've built
yourself.

FWIW, I'd be happy to provide FAT library builds tested on 10.5 (I run three
PPC and an X86 box with 10.5).  I'd also be happy to provide a version for 10.4
- although that might take longer as I have to drag old hardware out of storage
to test it.  Personally, I have replaced the Apple-provided libgcc_s.dylib on
my Quad G5 and and 10.5 Xeon and Core2 boxen without issues - the FAT version
must include PPC(7400) on X86 if one wants to use rosetta.  I just build it
4-ways [i386, x86_64, ppc, ppc64] and use the same lib on x86 and ppc.

However I have nowhere appropriate to host the libraries - and the
responsibility for replacing the Apple-provided library absolutely needs to be
in the hands of the end user.

Note that 10.5 and 10.4 no longer get security updates, and it is possible to
arrange symbolic links to libgcc_s versions such that the Apple version could
be reinstated quickly if necessary - of course all of this requires sudo and
terminal work, but Id assume that anyone building GCC from source should be
able to cope with that.

It really doesn't seem productive to hold 10.5 (at least) at an older unwinder
- but if someone really wants to update the 4.6 patch on this thread to match
the scheme now used for 4.7/4.8/trunk, I'd be happy to review.


  parent reply	other threads:[~2013-09-14 11:58 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-44107-4@http.gcc.gnu.org/bugzilla/>
2011-03-19 11:42 ` [Bug bootstrap/44107] libstdc++ (dylib) is built with an erroneous dependency towards /usr/lib mikestump at comcast dot net
2011-03-19 11:42 ` Denis.Excoffier at airbus dot com
2011-03-19 15:03 ` iains at gcc dot gnu.org
2011-03-19 15:13 ` iains at gcc dot gnu.org
2011-03-19 23:26 ` howarth at nitro dot med.uc.edu
2011-03-20 12:43 ` Denis.Excoffier at airbus dot com
2011-03-20 14:50 ` iains at gcc dot gnu.org
2011-03-20 14:52 ` howarth at nitro dot med.uc.edu
2011-03-20 21:10 ` Denis.Excoffier at airbus dot com
2011-03-20 21:27 ` iains at gcc dot gnu.org
2011-03-20 21:50 ` iains at gcc dot gnu.org
2011-03-21  8:18 ` Denis.Excoffier at airbus dot com
2011-03-21  8:34 ` iains at gcc dot gnu.org
2011-03-21 19:30 ` mikestump at comcast dot net
2011-04-28 16:28 ` rguenth at gcc dot gnu.org
2011-06-26 17:38 ` [Bug target/44107] gcc emits frame (epilogue) info incompatible with the darwin {8,9}-unwinder,10-compacter iains at gcc dot gnu.org
2011-12-11 19:53 ` gcc@Denis-Excoffier.org
2011-12-11 20:04 ` iains at gcc dot gnu.org
2013-07-16 13:02 ` iains at gcc dot gnu.org
2013-07-16 16:16 ` howarth at nitro dot med.uc.edu
2013-09-09 13:56 ` dominiq at lps dot ens.fr
2013-09-09 19:57 ` fang at csl dot cornell.edu
2013-09-09 21:46 ` mrs at gcc dot gnu.org
2013-09-10 13:57 ` howarth at nitro dot med.uc.edu
2013-09-14 11:58 ` iains at gcc dot gnu.org [this message]
2013-09-14 12:01 ` iains at gcc dot gnu.org
2014-01-22  7:58 ` gcc@Denis-Excoffier.org
2014-01-22  8:13 ` iains at gcc dot gnu.org
2014-01-22  8:58 ` gcc@Denis-Excoffier.org
2014-01-22 19:49 ` iains at gcc dot gnu.org
2014-11-03 19:44 ` fxcoudert at gcc dot gnu.org
2014-11-03 19:49 ` gcc@Denis-Excoffier.org
2021-02-28 15:36 ` 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
2023-05-16 19:14 ` 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-44107-4-TLlioHWPHC@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).