]> git.baikalelectronics.ru Git - kernel.git/commit
avr32: fix out-of-range rjmp instruction on large kernels
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Wed, 14 Jan 2009 12:32:53 +0000 (13:32 +0100)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Fri, 16 Jan 2009 08:38:05 +0000 (09:38 +0100)
commit00deae721dab50adeac13d648199c3bab87aa5f4
treecc24f13be370659b43d0ef517bd24d779f70e574
parentef45cf35b7f048ccb9b8e4596b7a3e9cdc64304f
avr32: fix out-of-range rjmp instruction on large kernels

Use .subsection to place fixups closer to their jump targets. This
increases the maximum size of the kernel before we get link errors
significantly.

The problem here is that we don't have a "call"-ish pseudo-instruction
to use instead of rjmp...we could add one, but that means we'll have to
wait for a new toolchain release, wait until we're fairly sure most
people are using it, etc...

As an added bonus, it should decrease the RAM footprint slightly,
though it might pollute the icache a bit more.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
arch/avr32/include/asm/uaccess.h