public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/29487] Shared libstdc++ fails to link
Date: Mon, 05 Feb 2007 04:02:00 -0000	[thread overview]
Message-ID: <20070205040215.18212.qmail@sourceware.org> (raw)
In-Reply-To: <bug-29487-276@http.gcc.gnu.org/bugzilla/>



------- Comment #18 from dave at hiauly1 dot hia dot nrc dot ca  2007-02-05 04:02 -------
Subject: Re:  Shared libstdc++ fails to link

> I'm not sure it matters, but if these functions don't throw exceptions,
> I don't understand why we're not marking them TREE_NOTHROW.  I suspect
> there's something that I'm just not following.

See the testcase for PR 29323 and the initial problem description.

> The fact that linker semantics allow you to replace a function at the
> object level do not make it valid at the language level.
> 
> So, for example, I would expect:
> 
>   void f () throw () {}

This is essentially identical to the example in weakthrow.C except
that the function there is annotated with __attribute__ ((weak)).

It was argued in PR 29323 that it was incorrect to mark functions
that don't bind locally with TREE_NOTHROW.

I'm not sure whether it's valid at the language level to replace
a function that can't throw with one that can.  However, as far
as unwind data goes, the only thing that matters is whether the
function being compiled needs unwind data or not.

> Why aren't the functions being marked TREE_NOTHROW?

When a function doesn't bind locally, it may be overloaded/replaced
by one that does throw.  So, we no longer mark such functions with
TREE_NOTHROW.  This results in unwind data being emitted for functions
that would have been marked TREE_NOTHROW if they were local.

> Assuming that the changes in TREE_NOTHROW and emission of exception
> information make sense, what solution would you implement for HP-UX 10?
>  Use SJLJ exception handling?

Yes, config.gcc could be modified to force SJLJ exception handling.
Of course, I'm hoping for a better fix to PR 29323.

Dave


-- 


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


  parent reply	other threads:[~2007-02-05  4:02 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-16 22:43 [Bug target/29487] New: " danglin at gcc dot gnu dot org
2006-10-16 23:11 ` [Bug target/29487] " danglin at gcc dot gnu dot org
2006-10-19  1:04 ` danglin at gcc dot gnu dot org
2006-11-13  2:25 ` danglin at gcc dot gnu dot org
2006-11-13  2:37 ` pinskia at gcc dot gnu dot org
2006-11-13  3:09 ` dave at hiauly1 dot hia dot nrc dot ca
2006-11-19 21:55 ` dave at hiauly1 dot hia dot nrc dot ca
2006-12-04  1:29 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-03  1:54 ` danglin at gcc dot gnu dot org
2007-02-03  2:08 ` pinskia at gcc dot gnu dot org
2007-02-03  2:47 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-03  2:50 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-04 22:53 ` mark at codesourcery dot com
2007-02-05  0:15 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-05  3:06 ` mark at codesourcery dot com
2007-02-05  4:02 ` dave at hiauly1 dot hia dot nrc dot ca [this message]
2007-02-05  5:40 ` mark at codesourcery dot com
2007-02-05  9:06 ` rguenth at gcc dot gnu dot org
2007-02-05  9:07 ` rguenth at gcc dot gnu dot org
2007-02-05  9:22 ` bonzini at gnu dot org
2007-02-05 18:34 ` amylaar at gcc dot gnu dot org
2007-02-05 19:26 ` amylaar at gcc dot gnu dot org
2007-02-05 19:33 ` mark at codesourcery dot com
2007-02-05 19:36 ` amylaar at gcc dot gnu dot org
2007-02-05 19:52 ` amylaar at gcc dot gnu dot org
2007-02-05 20:08 ` mark at codesourcery dot com
2007-02-06  8:27 ` paolo dot bonzini at lu dot unisi dot ch
2007-02-06  8:37 ` bonzini at gnu dot org
2007-02-06  9:27 ` rguenth at gcc dot gnu dot org
2007-02-06 10:18 ` amylaar at gcc dot gnu dot org
2007-02-06 10:39 ` rguenth at gcc dot gnu dot org
2007-02-06 10:42 ` bonzini at gnu dot org
2007-02-06 11:10 ` amylaar at gcc dot gnu dot org
2007-02-06 11:17 ` amylaar at gcc dot gnu dot org
2007-02-06 14:13 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-06 21:18 ` dave at hiauly1 dot hia dot nrc dot ca
2007-02-09  2:53 ` mmitchel at gcc dot gnu dot org
2007-02-10  1:02 ` mmitchel at gcc dot gnu dot org
2007-02-10  1:13 ` mmitchel at gcc dot gnu dot org
2007-02-11 18:58 ` mmitchel at gcc dot gnu dot org
2007-02-11 19:20 ` mmitchel at gcc dot gnu dot 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=20070205040215.18212.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).