This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] Update Solaris baselines for GCC 4.7


Paolo Carlini <paolo.carlini@oracle.com> writes:

> On 01/30/2012 07:06 PM, Rainer Orth wrote:
>> A non-C++ change suddenly causing new C++ functions to be emitted that
>> are not present without that change would be a bug on Linux, too!
> I should have been more clear: it's *not* a versioning bug on Linux. Maybe

I never claimed that.

> what is happening on Solaris is that those functions were inlined, thus not
> exported, and now aren't anymore. This kind of unpredictability in the
> inlining choices would not be a compiler bug, or at least not an easy
> one...

Whatever, if that were the case, this *must be avoided*.  You couldn't
remove an exported interface because the compiler suddently decided to
inline it, otherwise the whole versioning business became just a joke.

> Not sure why abi_check didn't complain before on Solaris, because the
> linker script etc, are meant to export those operators @3.4.5 (and also
> @3.4 because of an old mistake). This is what happens on Linux since the
> very old 3.4.5 times.

That's due to the way gld linker scripts work: every entry there just
works like sort of a wildcard: if the symbol is present in the input
objects, it is bound to the respective symbol, if it's missing, this is
silently ignored.  I observe the introduction of those two symbols with
both Sun and GNU ld.  IMO, this behavior of gld is fundamentally
incompatible with stable versions.  Sun ld is different: if a symbol is
listed in a version, but missing from the input objects, it errors out.

As I stated before, abi_check should just flag all additions to released
versions as bugs.  That would require us to update all the baselines
immediately before releases, though, which unfortunately hasn't been
done consistently in the past.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]