ld: BFD 2.15.92.0.2 20040927 internal error, aborting at ../../bfd/elf32-i386.c line 2262 in elf_i386_relocate_section
David Lawless
lawless@spamcop.net
Fri Jul 15 19:53:00 GMT 2005
I've just encountered the above error. Before I spend a lot of
time creating a test case (which I'll happily do), I want to ask
if what I'm doing is sane or stupid.
I want to create a '.so' shared library that exposes a limited
set of C++ interface symbols and hides all the magic that makes
it work. The way I'm approaching it is to have abstract
base classes (sometimes with a little implementation code)
in separate object files from the derived class implementation
code. Then I use the
objcopy -w -L '[ -~]*' file.o
command on the implementation objects to convert all the symbols
into LOCAL symbols in the hope that 'ld' will omit them from the
final '.so' image. When I attempt to link the '.so', I get the
error in the subject of this messages. I'm running Centos 4.1
yummed to the latest as of about a week ago. 'binutils' are
from Centos, and the compiler is vanilla gcc/g++ 4.0.1.
Is this the correct approach? Or am I missing some important
detail, such as not making certain symbols LOCAL? Or am I
on entirely the wrong path for obtain my objective?
I'm not on the mailing lists, so please CC me on any replies.
Thanks,
David
More information about the Binutils
mailing list