Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Aug 2016 10:00:11 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Matthias Andree <matthias.andree@gmx.de>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Problems with out libgcc_s.so in base
Message-ID:  <0CA458FB-AF10-4765-9BE1-886A710BAA30@FreeBSD.org>
In-Reply-To: <6f6a2c65-216a-3d7e-825f-222a06428f60@gmx.de>
References:  <20160814230351.GA10587@troutmask.apl.washington.edu> <20160814233430.GA35872@night.db.net> <20160817211710.GA59205@troutmask.apl.washington.edu> <20160818111521.7f79b9f8@kalimero.tijl.coosemans.org> <AB844E50-01A9-4559-8F7A-FE1F7B768F3A@FreeBSD.org> <6f6a2c65-216a-3d7e-825f-222a06428f60@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22 Aug 2016, at 08:26, Matthias Andree <matthias.andree@gmx.de> wrote:
> 
> Am 18.08.2016 um 14:48 schrieb Dimitry Andric:
>> For example, on one of my systems, I now have these:
>> 
>> /usr/local/lib/gcc47/libgcc_s.so.1
>> /usr/local/lib/gcc48/libgcc_s.so.1
>> /usr/local/lib/gcc49/libgcc_s.so.1
>> /usr/local/lib/gcc5/libgcc_s.so.1
>> /usr/local/lib/gcc6/libgcc_s.so.1
>> /usr/local/lib/gcc7/libgcc_s.so.1
> 
> This in itself - to me - seems to be the actual problem, how do
> different versions of the library the same major version?

The gcc folks use symbol versioning, see:

https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html

This works incrementally, so libgcc from gcc N is backwards compatible
with all previous libgcc's from gcc < N.  Not the other way around, of
course.

On Linux systems, there are no compatibility problems as we have seen
them, because you simply install the most recent libgcc into /lib, and
all applications will use that.  Older applications will find their
older ABI through symbol versioning.

However, even on a Linux system you could get into trouble if you would
compile and install a newer version of gcc than the system's default.

Applications linked with that newer version would possibly require a
newer libgcc ABI, and you would have the same problem that we have now.

-Dimitry




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0CA458FB-AF10-4765-9BE1-886A710BAA30>