Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934216AbbDVOcU (ORCPT ); Wed, 22 Apr 2015 10:32:20 -0400 Received: from blu004-omc1s16.hotmail.com ([65.55.116.27]:60435 "EHLO BLU004-OMC1S16.hotmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933456AbbDVOcR convert rfc822-to-8bit (ORCPT ); Wed, 22 Apr 2015 10:32:17 -0400 X-TMN: [bMHstAe33Pd9FJkASJuQj9unJMbqgJ7I] X-Originating-Email: [xili_gchen_5257@hotmail.com] Message-ID: Date: Wed, 22 Apr 2015 22:32:28 +0800 From: Chen Gang User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Steven Miao CC: Richard Weinberger , bfin , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] blackfin: Makefile: Skip reloc overflow issue when COMPILE_TEST enabled References: In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT X-OriginalArrivalTime: 22 Apr 2015 14:32:15.0275 (UTC) FILETIME=[20D4F7B0:01D07D09] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1918 Lines: 44 On 4/22/15 17:00, Steven Miao wrote: > Hi, > > On Thu, Apr 9, 2015 at 5:03 AM, 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) > blackfin toolchain generate 24 bit pc-relative calls by default, with > a range of –16,777,216 through 16,777,214 (0xFF00 0000 to 0x00FF FFFE) > is available. > So call to l1_text should be ok. What do you mean the kernel is too big? > http://docs.blackfin.uclinux.org/doku.php?id=ism:call > > Excuse me, I am not quite familiar with what you said above, can we also treat 24-bit as 16MB size limitation for kernel size? I am not quite sure, could you provide more information about it?. And I checked "arch/blackfin/kernel/vmlinux.lds.S", for me, in current case: - init section is the last section of kernel, l1.text is within init section, and it is in the fixed address. The other contents before l1.text are dynamic (depend on kernel size). - if kernel is too big, the contents before l1.text (the other contents in .init.text) will override it, so ld reports issues. Thanks. -- Chen Gang Open, share, and attitude like air, water, and life which God blessed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/