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