Hi,

On 20/12/17 01:06, Paul Boddie wrote:
> Package: binutils-mipsel-linux-gnu
> Version: 2.29.1-12
> Severity: normal
> 
> Dear Maintainer,
> 
> I have been attempting to build L4Re with the mipsel cross-toolchain, which
> has so far worked well, but after updating the L4Re sources to a newer
> revision, I now get the following error:
> 
> ----
> mipsel-linux-gnu-ld: main.o: Can't find matching LO16 reloc against `.text'
> for R_MIPS_GOT16 at 0x1f8 in section `mipsel-linux-gnu-ld: BFD (GNU Binutils
> for Debian) 2.29.1 internal error, aborting at ../../bfd/bfd.c:866 in
> _bfd_doprnt
> 
> mipsel-linux-gnu-ld: Please report this bug.
> ----
> 
> So, I am reporting this bug! However, I suspect that it might have something
> to do with other, previously-reported bugs. Superficially, it looks like bug
> #834147 in Debian.

There are probably two bugs here. Firstly, ld shouldn't trigger an
internal error when printing the error message...

> Relocation section '.rel.text.startup' at offset 0x5398 contains 24 entries:
>  Offset     Info    Type            Sym.Value  Sym. Name
> 00000000  00001f05 R_MIPS_HI16       00000000   _gp_disp
> 00000004  00001f06 R_MIPS_LO16       00000000   _gp_disp
> 00000014  0000240b R_MIPS_CALL16     00000000   l4re_util_cap_alloc
> 0000004c  00002509 R_MIPS_GOT16      00000000   l4re_global_env
> 00000058  00000409 R_MIPS_GOT16      00000000   .bss
> 0000005c  00002425 R_MIPS_JALR       00000000   l4re_util_cap_alloc
> 00000060  00000406 R_MIPS_LO16       00000000   .bss
> 00000074  00000406 R_MIPS_LO16       00000000   .bss
> 00000124  00000406 R_MIPS_LO16       00000000   .bss
> 000001e0  00000406 R_MIPS_LO16       00000000   .bss
> 000001f8  00000209 R_MIPS_GOT16      00000000   .text
> 00000200  00000409 R_MIPS_GOT16      00000000   .bss

... and this relocation section is corrupt. It is illegal to use a GOT16
relocation without a LO16 relocation somewhere after it (as the ld error
says). Therefore the bug is in whatever created your main.o file (this
is likely to be another part of binutils though).

It would be useful to have a reduced .c file which can reproduce this
bug and then decide if its a bug in gcc or binutils.

Thanks,
James

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to