2015-04-08 21:05:33

by Chen Gang

[permalink] [raw]
Subject: [PATCH] blackfin: Makefile: Skip reloc overflow issue when COMPILE_TEST enabled

l1_text is at L1_CODE_START (e.g. for bf533, 0xff800000). If the kernel
is too big, it may be overwritten, the related issue:

LD init/built-in.o
init/built-in.o: In function `do_early_param':
init/main.c:(.init.text+0xe0): relocation truncated to fit: R_BFIN_PCREL24 against symbol `strcmp' defined in .l1.text section in arch/blackfin/lib/lib.a(strcmp.o)
init/main.c:(.init.text+0x10e): relocation truncated to fit: R_BFIN_PCREL24 against symbol `strcmp' defined in .l1.text section in arch/blackfin/lib/lib.a(strcmp.o)
init/built-in.o: In function `unknown_bootoption':

blackfin is for embedded system, the size limitation is acceptable, so
it is not the real world issue, which should be skipped if COMPILE_TEST
enabled.


Signed-off-by: Chen Gang <[email protected]>
---
arch/blackfin/Makefile | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile
index 2ece4e3..e5195b4 100644
--- a/arch/blackfin/Makefile
+++ b/arch/blackfin/Makefile
@@ -20,6 +20,9 @@ endif
KBUILD_AFLAGS += $(call cc-option,-mno-fdpic)
KBUILD_CFLAGS_MODULE += -mlong-calls
LDFLAGS += -m elf32bfin
+ifeq ($(CONFIG_COMPILE_TEST),y)
+LDFLAGS += --noinhibit-exec
+endif

KBUILD_DEFCONFIG := BF537-STAMP_defconfig

--
1.9.3