On Thu, Mar 8, 2012 at 12:38 AM, Jakub Jelinek <ja...@redhat.com> wrote:
> On Wed, Mar 07, 2012 at 06:24:14PM -0800, Ollie Wild wrote:
>
> The reason why libgcc.a symbols are hidden is to avoid exporting those
> symbols from shared libraries for -static-libgcc etc. links.
> It used to cause big troubles, the symbols were e.g. exported from one
> shared library as implementation detail, and other shared libraries that
> needed the same symbols relied on those symbols exported from them, but
> if you slightly change the implementation of the shared library, the libgcc
> symbol might not be needed any longer, thus no longer exported, and suddenly
> the other shared libraries break, because they can't find their definitions.
> libgcc routines are usually short (dfp is an exception, but those really
> don't belong into libgcc), so duplicating them doesn't matter much
> and there is always -shared-libgcc.

Ah, that makes sense.  Thanks, Jakub.

Ollie

Reply via email to