SHN_UNDEF symbols with non-zero value in MIPS shared object

Ian Lance Taylor iant@google.com
Fri Oct 30 08:08:00 GMT 2009


Uma shankar <shankar.vk@gmail.com> writes:

> Cross-MIPS gcc version (for Linux target) used  is  4.3.2
>
> Today  I saw that .so files of MIPS contain some undef symbols with
> non-zero value
>
> The few I saw are defined in libC
>
> Wont this confuse dynamic linker of 4.3.2  ?  ( i know that in 4.3.3.
> , there is the STO_MIPS_PLT check  which  skip these. )
>
> How does the dynamic  linker  ignore them during lookup ?
> What is the purpose of these symbols ?

This question is not appropriate for the gcc@gcc.gnu.org mailing
list.  It would be appropriate for gcc-help@gcc.gnu.org.  Please take
any followups to gcc-help.  Thanks.

Having SHN_UNDEF symbols with a non-zero value is perfectly normal for
MIPS shared libraries.  The dynamic linker uses them to handle
function pointer comparisons across shared libraries.  For details see
the ELF MIPS processor supplement, which is available online.

Ian



More information about the Gcc mailing list