Symbol visibility build failure on Solaris

Daniel Jacobowitz drow@mvista.com
Tue Jun 17 19:06:00 GMT 2003


I need some second opinions here.  The problem:

 - My installed GCC is 2.95.3.  It has an <assert.h> which references
    __eprintf.

 - __eprintf is in LIB2FUNCS_ST.  So it is not exported shared from
    libgcc_s.so.1, and it is marked .hidden in libgcc.a.

 - stl-inst.o, when compiled, has two calls to assert which reference
    __eprintf.  But it's linked with -shared-libgcc, so they are unresolved.

 - When linking abi_check, we have a shared library trying to reference a
    .hidden symbol in the application.  Binutils 2.13 erroneously allowed
    this; binutils 2.14 does not.

Does this mean that we need to move __eprintf from LIB2FUNCS_ST to
LIB2FUNCS_2, or that -shared-libgcc should also pull in libgcc.a?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gcc mailing list