Re: NetBSD system static libgcc is too old and causing problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



John Marino <gnugcc@xxxxxxxxx> writes:

> It occurs when the Ada library references a symbol the system libgcc.a
> doesn't understand, and so far it's been the exception handling.  For
> GtkAda, the compilation gets about 50% complete before it aborts.  For
> the Ada Web Server, it gets about 75% complete.
>
> I thought that NetBSD's Pkgsrc might be causing the issue with all the
> wrappers and overrides that it layers on top, but I just tried to
> build GtkAda outside of pkgsrc and the same error occurs, so pkgsrc
> probably isn't to blame.
>
> There are a lot of spec customizations in the netbsd headers
> (gcc/config & gcc/config/i386) so it's possible that one of those is
> causing this behavior.  If curious, I can post the entire specs file.

It's decidedly odd that gcc is linking against the system libgcc.a at
build time.  That should not happen.  gcc should always link against the
appropriate libgcc.a.

It's completely normal that programs compiled by gcc are linking against
the system libgcc_s.so at runtime.  gcc does not try to force the
runtime time linking path, as there are many different possibilities
that need to be handled, too many to really plan for.  In order to use
different versions of native gcc on the same system, you need to install
the newest libgcc_s.so where the dynamic linker looks, or you need to
use -Wl,-rpath or LD_RUN_PATH to control where the programs look, or you
need to use -static-libgcc to avoid dynamic linking of libgcc.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux