mn10300: PCREL16 reloc question
Nick Clifton
nickc@redhat.com
Fri Dec 21 17:32:00 GMT 2007
Hi DJ,
> In elf-m10300.c mn10300_elf_final_link_relocate() for the
> R_MN10300_PCREL16 case at line 1221, we use a range that's twice as
> big as I'd expect:
>
> if ((long) value > 0xffff || (long) value < -0x10000)
> return bfd_reloc_overflow;
>
> Are there any real cases where we'd need this range, and not the usual
> -0x8000..0x7fff range?
>
> We do the same for PCREL8 just above it, too.
I expect that you could use a variant of one of the mn10300 linker tests to
check this. eg changing the JMP instruction in ld/tests/ld-mn10300/i135409-4.s
to umm, some 16-bit-pcrel using instruction. You would have to fix the offsets
in i135409-4.t as well of course.
Cheers
Nick
More information about the Binutils
mailing list