bfd assertion fail elflink.h:1566

Patrik Hagglund patha@ida.liu.se
Thu Oct 21 10:50:00 GMT 1999


> I've appended the patch.
> 
>    Using Sun's ld gives the following error messages:
> 
>    ld: Software Generation Utilities - Solaris/ELF (3.0)
>    ld: warning: file ./libgcj.so: section .stabstr: malformed string table, initial or final byte
>    ld: warning: file ./libgcjgc.so: section .stabstr: malformed string table, initial or final byte
>    ld: warning: file ./libzgcj.so: section .stabstr: malformed string table, initial or final byte
> 
> I'm not sure what's up with this.  I very much doubt that it is
> related to the assertion failure.
> 
> Were those shared libraries created by the GNU linker?  What is the
> initial and final byte of the .stabstr section in those files?  (You
> can get this using objdump -s -j .stabstr).  If you create the files
> using the Solaris linker, what is the initial and final byte of the
> .stabstr section?  (You may need to use a special option to force the
> Solaris linker to create a .stabstr section rather than leaving the
> stabs information in the .o files).  Perhaps the Solaris linker
> expects something which the GNU linker simply isn't doing.
> 
> Ian
 
Sorry for my delayed response.

Thanks for the patch.

The files where assembled and linked with binutils-991002
(gcc-2.95.1). Here is the output from `objdump -s -j .stabstr
libgcj.so':
  
  libgcj.so:     file format elf32-sparc
  
  Contents of section .stabstr:
   0000 7072696d 732e6363 002f686f 6d652f70  prims.cc./home/p
  [...]
   b5880 646c6572 3a472831 2c313729 00        dler:G(1,17).   
  
And with Sun as and ld:

  libgcj.so:     file format elf32-sparc
  
  Contents of section .stabstr:
   0000 00707269 6d732e63 63002f68 6f6d652f  .prims.cc./home/
  [...]
   215740 743a5328 302c3129 0000               t:S(0,1)..      

Seems to be an extra 0-byte at each end.

--
Patrik Hägglund


More information about the Binutils mailing list