From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] m68k: fix broken buildman m68k
Date: Wed, 13 Apr 2016 00:09:31 +0200 [thread overview]
Message-ID: <570D721B.1020701@denx.de> (raw)
In-Reply-To: <570D6BA0.3030207@sysam.it>
On 04/12/2016 11:41 PM, Angelo Dureghello wrote:
> Hi,
>
>
> On 12/04/2016 00:52, Marek Vasut wrote:
>> On 04/12/2016 12:30 AM, Angelo Dureghello wrote:
>>> fix 19/48 broken board compilations, due to a now too smal 16-bit
>>> relative jump
>>
>> Won't it make sense to tweak the linker script to put those functions
>> closer together instead ?
>>
>
> tried hardly with linker script
You hardly tried or did you try hard ? :b
, keeping the functions near,
> but "relocation truncated to fit: R_68K_PC16 .." error moves to other
> jumps now. The fix in this way seems a bit too complex so i suggest to
> maintain the jumps as in the patch below.
I agree and thanks for clarifying on IRC too.
Acked-by: Marek Vasut <marex@denx.de>
> Best regards,
> Angelo Dureghello
>
>>> Signed-off-by: Angelo Dureghello <angelo@sysam.it>
>>> ---
>>> arch/m68k/cpu/mcf523x/start.S | 8 ++++++--
>>> arch/m68k/cpu/mcf52x2/start.S | 8 ++++++--
>>> arch/m68k/cpu/mcf532x/start.S | 8 ++++++--
>>> arch/m68k/cpu/mcf5445x/start.S | 8 ++++++--
>>> 4 files changed, 24 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/arch/m68k/cpu/mcf523x/start.S
>>> b/arch/m68k/cpu/mcf523x/start.S
>>> index 8a23e72..1702f98 100644
>>> --- a/arch/m68k/cpu/mcf523x/start.S
>>> +++ b/arch/m68k/cpu/mcf523x/start.S
>>> @@ -141,8 +141,12 @@ _start:
>>>
>>> move.l #__got_start, %a5 /* put relocation table address to
>>> a5 */
>>>
>>> - bsr cpu_init_f /* run low-level CPU init code (from
>>> flash) */
>>> - bsr board_init_f /* run low-level board init code (from
>>> flash) */
>>> + /* run low-level CPU init code (from flash) */
>>> + move.l #cpu_init_f, %a1
>>> + jsr (%a1)
>>> + /* run low-level board init code (from flash) */
>>> + move.l #board_init_f, %a1
>>> + jsr (%a1)
>>>
>>> /* board_init_f() does not return */
>>>
>>> diff --git a/arch/m68k/cpu/mcf52x2/start.S
>>> b/arch/m68k/cpu/mcf52x2/start.S
>>> index 8a59496..4af691f 100644
>>> --- a/arch/m68k/cpu/mcf52x2/start.S
>>> +++ b/arch/m68k/cpu/mcf52x2/start.S
>>> @@ -198,8 +198,12 @@ _after_flashbar_copy:
>>>
>>> move.l #__got_start, %a5 /* put relocation table address
>>> to a5 */
>>>
>>> - bsr cpu_init_f /* run low-level CPU init code
>>> (from flash) */
>>> - bsr board_init_f /* run low-level board init code
>>> (from flash) */
>>> + /* run low-level CPU init code (from flash) */
>>> + move.l #cpu_init_f, %a1
>>> + jsr (%a1)
>>> + /* run low-level board init code (from flash) */
>>> + move.l #board_init_f, %a1
>>> + jsr (%a1)
>>>
>>> /* board_init_f() does not return */
>>>
>>> diff --git a/arch/m68k/cpu/mcf532x/start.S
>>> b/arch/m68k/cpu/mcf532x/start.S
>>> index 3b9ede0..131ad6e 100644
>>> --- a/arch/m68k/cpu/mcf532x/start.S
>>> +++ b/arch/m68k/cpu/mcf532x/start.S
>>> @@ -155,8 +155,12 @@ _start:
>>>
>>> move.l #__got_start, %a5 /* put relocation table address to
>>> a5 */
>>>
>>> - bsr cpu_init_f /* run low-level CPU init code (from
>>> flash) */
>>> - bsr board_init_f /* run low-level board init code (from
>>> flash) */
>>> + /* run low-level CPU init code (from flash) */
>>> + move.l #cpu_init_f, %a1
>>> + jsr (%a1)
>>> + /* run low-level board init code (from flash) */
>>> + move.l #board_init_f, %a1
>>> + jsr (%a1)
>>>
>>> /* board_init_f() does not return */
>>>
>>> diff --git a/arch/m68k/cpu/mcf5445x/start.S
>>> b/arch/m68k/cpu/mcf5445x/start.S
>>> index ae261b1..f50f147 100644
>>> --- a/arch/m68k/cpu/mcf5445x/start.S
>>> +++ b/arch/m68k/cpu/mcf5445x/start.S
>>> @@ -664,8 +664,12 @@ _start:
>>>
>>> move.l #__got_start, %a5 /* put relocation table address to
>>> a5 */
>>>
>>> - bsr cpu_init_f /* run low-level CPU init code (from
>>> flash) */
>>> - bsr board_init_f /* run low-level board init code (from
>>> flash) */
>>> + /* run low-level CPU init code (from flash) */
>>> + move.l #cpu_init_f, %a1
>>> + jsr (%a1)
>>> + /* run low-level board init code (from flash) */
>>> + move.l #board_init_f, %a1
>>> + jsr (%a1)
>>>
>>> /* board_init_f() does not return */
>>>
>>>
>>
>>
--
Best regards,
Marek Vasut
next prev parent reply other threads:[~2016-04-12 22:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-11 22:30 [U-Boot] [PATCH] m68k: fix broken buildman m68k Angelo Dureghello
2016-04-11 22:52 ` Marek Vasut
2016-04-12 5:12 ` Angelo Dureghello
2016-04-12 21:41 ` Angelo Dureghello
2016-04-12 22:09 ` Marek Vasut [this message]
2016-04-18 5:05 ` Heiko Schocher
2016-04-21 11:23 ` [U-Boot] " Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=570D721B.1020701@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox