ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset"
authorJon Medhurst <tixy@linaro.org>
Tue, 30 Sep 2014 09:25:10 +0000 (10:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 30 Sep 2014 15:55:24 +0000 (16:55 +0100)
commitad684dce87fac52738649e62b4afa25081b52a28
tree42b37e2d471f9cdecc61018217cb4ad771f63149
parent9cc6d9e5daaa147a9a3e31557efcb331989e77be
ARM: 8179/1: kprobes-test: Fix compile error "bad immediate value for offset"

When compiling kprobes-test-arm.c the following error has been observed

/tmp/ccoT403o.s:21439: Error: bad immediate value for offset (4168)

This is caused by the compiler spilling it's literal pool too far away
from the site which is trying to reference it with a PC relative load.
This arises because the compiler is underestimating the size of the
inline assembler code present, which apparently it approximates as 4
bytes per line or instruction.

We fix this problem by moving the operations which generate more than
4 bytes out of the text section. Specifically, moving the .ascii
directives to the .rodata section.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/kprobes-test.c
arch/arm/kernel/kprobes-test.h