C6x: Fix another problem with rela. and rel. sections

Bernd Schmidt bernds@codesourcery.com
Wed Sep 22 22:04:00 GMT 2010


TI's compiler for C6x produces both rel. and rela. sections.  When 
compiling the kernel with it, we end up with rela.init.text and 
rel.init.text, and when we then try to use GNU ld to link these objects 
together using "-r", the linker aborts with

ld: init/mounts.o: relocation size mismatch in init/do_mounts.o section 
.text
ld: final link failed: File in wrong format

That's because in the output we've only made one of the two sections.  I 
looked around in other targets for ways to fix it, and came across a 
definition of elf_fake_sections in elf32-m32r.c.  Adding such a function 
to elf32-tic6x.c seems to fix the problem.

Ok?


Bernd
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fake.diff
URL: <https://sourceware.org/pipermail/binutils/attachments/20100922/ba8f8fbf/attachment.ksh>


More information about the Binutils mailing list