On 9/13/2011 3:20 AM, Graham Gower wrote:
/tmp/hppa64/bin/hppa64-linux-ld:
arch/parisc/mm/built-in.o(.init.text+0xed0): cannot reach
flush_tlb_all_local
/tmp/hppa64/bin/hppa64-linux-ld: BFD (GNU Binutils) 2.21.1 internal
error, aborting at ../../binutils-2.21.1/bfd/elf64-hppa.c line 3956 in
elf64_hppa_relocate_section
Any clues?
Check the relocation at arch/parisc/mm/built-in.o(.init.text+0xed0) with
readelf
or objdump. It should be R_PARISC_PCREL22F. If this isn't a 22-bit branch,
then the call needs changing (e.g., change a bl to b,l).
If this is a 22-bit call, then you will have to remove some stuff from
your .config.
Maybe use more modules.
The hppa64 linker doesn't have stub support for long calls. The maximum
branch distance (R_PARISC_PCREL22F) is 8388608 bytes.
Stub support could be added to hppa64 in a manner similar to that for
hppa32,
but there isn't a 64-bit userspace except on HP-UX. On HP-UX, the HP linker
is better. I made a number of changes a few years ago to make this possible
but there's still quite a bit of work involved.
Dave
--
John David Anglin dave.anglin@xxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html