2015-04-08 21:07:42

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


2015-07-01 15:30:34

by Chen Gang

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

On 4/9/15 05:10, Chen Gang wrote:
>
> After this patch, blackfin can pass allmodconfig building (if we treat
> it as allmodconfig). And next, I shall try to:
>
> - Send all related patches v2 for blackfin kernel within this month.
>
> - Fix blackfin gcc/binutils related issues within this month.
>

After fix the 2 gcc bfin issues, the bfin can pass the allmodconfig for
next-20140401. And sorry for so late to fix the bfin related gcc issues.

- Bug 65803 is fixed by me and integrated into gcc master branch, the
related link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65803

- Bug 66620 is fixed by gcc related members, my fix is incorrect (my
fix can get the correct result, and also can let bfin kernel pass all
modconfig, but it still left the insns in the inconsistent state).


Next I shall start allmodconfig for another architecture cris, hope I
can finish within this month.

Thanks.

> Thanks.
>
>
> On 4/9/15 05:03, Chen Gang wrote:
>> 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 limitition 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
>>
>>
>

--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

2015-07-01 15:35:38

by Chen Gang

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

On 4/9/15 05:10, Chen Gang wrote:
>
> After this patch, blackfin can pass allmodconfig building (if we treat
> it as allmodconfig). And next, I shall try to:
>
> - Send all related patches v2 for blackfin kernel within this month.
>
> - Fix blackfin gcc/binutils related issues within this month.
>

After fix the 2 gcc bfin issues, the bfin can pass the allmodconfig for
next-20140401. And sorry for so late to fix the bfin related gcc issues.

- Bug 65803 is fixed by me and integrated into gcc master branch, the
related link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65803

- Bug 66620 is fixed by gcc related members, my fix is incorrect (my
fix can get the correct result, and also can let bfin kernel pass all
modconfig, but it still left the insns in the inconsistent state).


Next I shall start allmodconfig for another architecture cris, hope I
can finish within this month.

Thanks.
> Thanks.
>
>
> On 4/9/15 05:03, Chen Gang wrote:
>> 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 limitition 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
>>
>>
>

--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed