Subject: re: reloc sym ""
To: Michael Rauch <mrauch@netbsd.org>
From: matthew green <mrg@eterna.com.au>
List: port-sparc
Date: 08/30/2001 22:18:06
   On Wed, Aug 29, 2001 at 07:36:30PM +1000, matthew green wrote:
   > 
   > i tried rebuilding perl with my shiny new sparc toolchain, and my libperl
   > was giving me lossage about unknown "" symbols, very much like sparc64
   > libstdc++ lossage looks like at times:
   > 
   > /orb/e/pkgsrc.obj.sparc/lang/perl5-base/work.sparc/perl-5.6.1/libperl.so: 
   > Undefined symbol "" (reloc type = 23, symnum = 4)
   
   I've seen these kind of errors always when linking a file into a shared 
   library that wasn't compiled with the -fPIC flag (with good candidates 
   always being libgcc.a and libstdc++.a). I would first make sure that all .o 
   files are compiled with this flag and then examine the line which links 
   together libperl.so (-Wl,--verbose might be a useful flag for gcc.) 

well, the flags passed to various commands are the same for both the working
and failing cases.  the compiler and/or binutils being different causes the
problem.
   
   > i haven't tracked down the exact lossage, but reverted my binutils to 2.9*
   > seems and rebuilding perl from scratch seems to have removed the error (also
   > back to egcs 1.1.2, but just that was not enough.  also do binutils was.)
   
   That seems to confuse me a bit. The error might well be in the gcc setup, 
   but binutils shouldn't affect the behaviour. At least we've got vanilla GNU 
   binutils 2.10.1 running here without any problems (NetBSD sparc 1.5). 


it may be an interaction with "new" gcc and "new" binutils.  i will note
that my new binutils were 2.11 based.


i do hope to soon track this down more fully.