public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Symbol versions for inlined symbols
@ 2005-07-30 23:00 Mike Hearn
  2005-07-31  4:57 ` Daniel Jacobowitz
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Hearn @ 2005-07-30 23:00 UTC (permalink / raw)
  To: gcc

Hi,

One problem with the parallel C++ ABI versioning (which makes it not so
useful) is that symbols in the libstdc++ namespaces are put into the
generated binary if you use the STL. Those generated symbols are *not*
symbol versioned so conflicts can still occur.

This is registered in bugzilla and has been for a while, with no sign of a
fix. So I thought I'd look at it.

Would an acceptable solution be to have a new attribute that set the
symbol version for inlined functions. That way, the STL headers could be
annotated like so:

class XXX
{
	int STD_VERSION std::whatever() { return 4; }
}

An alternative approach would be to have the linker assigned inlined
symbols the same version tag as whatever the same symbol in libstdc++ has,
but I'm not sure how I'd implement this.

Does anybody have insight?

thanks -mike

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: Symbol versions for inlined symbols
@ 2005-07-31  6:04 dank
  0 siblings, 0 replies; 5+ messages in thread
From: dank @ 2005-07-31  6:04 UTC (permalink / raw)
  To: mike.plan99.net; +Cc: gcc

> You may wish to read the proceedings from this year's GCC summit, where
> another solution was presented by some gentlemen from Intel.  For
> various reasons, symbol versioning is not a useful solution to this
> problem.
>
> No one objected to their solution in principle, AFAICT, although there
> was some discussion afterwards about whether the use of strong
> namespace using was really necessary

FWIW, I tried to capture some of the discussion at
http://kegel.com/gcc/diary.txt

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-07-31 15:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-30 23:00 Symbol versions for inlined symbols Mike Hearn
2005-07-31  4:57 ` Daniel Jacobowitz
2005-07-31 13:52   ` Mike Hearn
2005-07-31 15:34     ` Daniel Jacobowitz
2005-07-31  6:04 dank

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).