public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "matz at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/53646] Surprising effects of cxx11 vs cxx98 ABI compatibility
Date: Thu, 21 Jun 2012 15:26:00 -0000	[thread overview]
Message-ID: <bug-53646-4-R5fqIeXTbZ@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-53646-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #20 from Michael Matz <matz at gcc dot gnu.org> 2012-06-21 15:25:59 UTC ---
As I stumbled over this problem complex recently already I had a hunch that it
might again be a 11/98 mixture.  Having the symbols would have made that a
certainty.  But it wouldn't have helped me that much further.  I still would 
have had to find out which functions were causing the wild write (after all,
an 11/98 mixture in itself is not the problem, the library authors for
instance might have controlled their exports) in order to say with confidence
that this is really the cause for the problem, and not something like a
normal program error.

Of course if the implementation of PR 53673 would make it so, that such
programs can't even be link edited or if so, then at least not be run (the
dynamic linker could throw an error for instance) then this problem wouldn't
have turned up.  OTOH, that's fairly unforgiving and could still be worked
around by the user by for instance specifically hiding such magic symbol.
(Although, if he's able to hide that magic symbol he should also be able to
hide all the other reexported libstdc++ symbols).

I btw. wonder if all these weak symbols of libstdc++, that right now
are reexported by default, shouldn't get hidden visibility.  Would make
(non-inlined) calls faster, and avoid the cross-c++-std-domain resolving
leading to this problem.  At least on targets that support visibility.


  parent reply	other threads:[~2012-06-21 15:26 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-12 13:18 [Bug c++/53646] New: " matz at gcc dot gnu.org
2012-06-12 13:38 ` [Bug libstdc++/53646] " redi at gcc dot gnu.org
2012-06-12 14:19 ` redi at gcc dot gnu.org
2012-06-12 14:28 ` redi at gcc dot gnu.org
2012-06-12 14:29 ` redi at gcc dot gnu.org
2012-06-12 15:36 ` matz at gcc dot gnu.org
2012-06-12 15:42 ` matz at gcc dot gnu.org
2012-06-12 15:50 ` redi at gcc dot gnu.org
2012-06-12 15:53 ` redi at gcc dot gnu.org
2012-06-12 15:57 ` redi at gcc dot gnu.org
2012-06-12 16:02 ` matz at gcc dot gnu.org
2012-06-12 16:05 ` paolo.carlini at oracle dot com
2012-06-12 16:13 ` paolo.carlini at oracle dot com
2012-06-13  9:39 ` paolo.carlini at oracle dot com
2012-06-13 10:23 ` redi at gcc dot gnu.org
2012-06-13 12:08 ` matz at gcc dot gnu.org
2012-06-13 14:55 ` [Bug c++/53646] " redi at gcc dot gnu.org
2012-06-14  6:33 ` jason at gcc dot gnu.org
2012-06-21 14:37 ` matz at gcc dot gnu.org
2012-06-21 14:47 ` redi at gcc dot gnu.org
2012-06-21 15:26 ` matz at gcc dot gnu.org [this message]
2012-06-21 15:33 ` matz 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-53646-4-R5fqIeXTbZ@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).