Ralf Baechle wrote:
> just in case if you manage to fix this one please drop me a note.
I'm calling in for help on the solution now.
The problem occurs when a segment is found that is not a known name, libbfd
abort()s in mips_elf_relocate_section(). In the case of the egcs libstdc++
link the segments in question are : ".dtors" and ".gcc_except_table". I assume
since .dtors is trouble, so will .ctors be.
If I add .dtors and .gcc_except_table to mips_elf_dynsym_sec_names[] in
${binutils_src_path}/bfd/elf32-mips.c and rebuild libbfd - ld no longer gets an
abort() when compiling the file in question. I'm pretty sure this is NOT the
right solution. There is also a table of sections in
${binutils_src_path}/bfd/syms.c. What is the "right" solution, and what other
sections can exist that bfd doesn't know about?
Someone with a bit more experience inside libbfd - please help? :)
Tim
|