On Wed, Aug 01, 2001 at 01:10:31PM +0200, José Mª Pérez Cáncer wrote: > /usr/bin/ld: bfd assertion fail elf32-i386.c:1816 > > and then it continues. The resulting shared object crashes ld.so. > > Can anyone explain what is that assert detecting. Without looking at the object files and libraries involved in your link, I can't say much for sure, but I suspect you have hit a bug in the handling of symbols that have non-default visibility. The assert in elf_i386_finish_dynamic_symbol is triggered by h->dynindx == -1, which implies that (h->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0, otherwise the finish_dynamic_symbol function wouldn't have been called. Can you make all the object files and libraries involved in the link available to me, other than by posting to the list? (Add -Wl,-t to the gcc command line, and ld will tell you each of the files.) I'd like to track this bug down. You may like to try H.J. Lu's latest binutils too. ftp://ftp.kernel.org/pub/linux/devel/binutils/ Alan