This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
ld: BFD 2.15.92.0.2 20040927 internal error, aborting at ../../bfd/elf32-i386.c line 2262 in elf_i386_relocate_section
- From: David Lawless <lawless at spamcop dot net>
- To: bug-binutils at gnu dot org, binutils at sourceware dot org
- Date: Fri, 15 Jul 2005 15:39:50 -0400
- Subject: ld: BFD 2.15.92.0.2 20040927 internal error, aborting at ../../bfd/elf32-i386.c line 2262 in elf_i386_relocate_section
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