From: Angelo Dureghello <angelo@sysam.it>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC PATCH] arm, m68k: fix out-of-range jump
Date: Sat, 16 Apr 2016 02:30:12 +0200 [thread overview]
Message-ID: <57118794.8000602@sysam.it> (raw)
In-Reply-To: <1460717963-24589-1-git-send-email-hs@denx.de>
Hi Heiko,
On 15/04/2016 12:59, Heiko Schocher wrote:
> fix the following build error for m68k boards:
> Building current source for 48 boards (2 threads, 1 job per thread)
> m68k: + M54455EVB_i66
> +arch/m68k/cpu/mcf5445x/start.o: In function `_start':
> +arch/m68k/cpu/mcf5445x/start.S:668:(.text+0x45a): relocation truncated to fit: R_68K_PC16 against symbol `board_init_f' defined in .text.board_init_f section in common/built-in.o
> +make[1]: *** [u-boot] Error 1
> +make: *** [sub-make] Error 2
>
> Signed-off-by: Heiko Schocher <hs@denx.de>
> ---
> This commit fixes build error:
> https://travis-ci.org/hsdenx/u-boot/jobs/123254183
>
> fixed log see:
> https://travis-ci.org/hsdenx/u-boot/jobs/123281032
>
> Any ideas why the changes did not work for:
> arch/m68k/cpu/mcf523x/start.S
> arch/m68k/cpu/mcf52x2/start.S
> arch/m68k/cpu/mcf532x/start.S
>
> but work for
> arch/m68k/cpu/mcf5445x/start.S
>
> I have no real m68k experiences, so help is appreciated!
sorry, i realized later you was asking the reason why jbsr
is not working with
> arch/m68k/cpu/mcf523x/start.S
> arch/m68k/cpu/mcf52x2/start.S
> arch/m68k/cpu/mcf532x/start.S
jbsr is an alias for bsr.l that is supported only from ISA_B.
In ISA_A it is likely translated to 16bit relative jump.
I prepared some notes, you can check ISA Revisions here:
http://www.denx.de/wiki/U-Boot/ColdFireNotes
Best regards,
Angelo Dureghello
>
>
> arch/m68k/cpu/mcf523x/start.S | 4 ++--
> arch/m68k/cpu/mcf52x2/start.S | 4 ++--
> arch/m68k/cpu/mcf532x/start.S | 4 ++--
> arch/m68k/cpu/mcf5445x/start.S | 4 ++--
> 4 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/m68k/cpu/mcf523x/start.S b/arch/m68k/cpu/mcf523x/start.S
> index 8a23e72..ad7bde4 100644
> --- a/arch/m68k/cpu/mcf523x/start.S
> +++ b/arch/m68k/cpu/mcf523x/start.S
> @@ -141,8 +141,8 @@ _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) */
> + jbsr cpu_init_f /* run low-level CPU init code (from flash) */
> + jbsr board_init_f /* run low-level board init code (from flash) */
>
> /* board_init_f() does not return */
>
> diff --git a/arch/m68k/cpu/mcf52x2/start.S b/arch/m68k/cpu/mcf52x2/start.S
> index 8a59496..a16b589 100644
> --- a/arch/m68k/cpu/mcf52x2/start.S
> +++ b/arch/m68k/cpu/mcf52x2/start.S
> @@ -198,8 +198,8 @@ _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) */
> + jbsr cpu_init_f /* run low-level CPU init code (from flash) */
> + jbsr board_init_f /* run low-level board init code (from flash) */
>
> /* board_init_f() does not return */
>
> diff --git a/arch/m68k/cpu/mcf532x/start.S b/arch/m68k/cpu/mcf532x/start.S
> index 3b9ede0..50d301c 100644
> --- a/arch/m68k/cpu/mcf532x/start.S
> +++ b/arch/m68k/cpu/mcf532x/start.S
> @@ -155,8 +155,8 @@ _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) */
> + jbsr cpu_init_f /* run low-level CPU init code (from flash) */
> + jbsr board_init_f /* run low-level board init code (from flash) */
>
> /* board_init_f() does not return */
>
> diff --git a/arch/m68k/cpu/mcf5445x/start.S b/arch/m68k/cpu/mcf5445x/start.S
> index ae261b1..ff8d627 100644
> --- a/arch/m68k/cpu/mcf5445x/start.S
> +++ b/arch/m68k/cpu/mcf5445x/start.S
> @@ -664,8 +664,8 @@ _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) */
> + jbsr cpu_init_f /* run low-level CPU init code (from flash) */
> + jbsr board_init_f /* run low-level board init code (from flash) */
>
> /* board_init_f() does not return */
>
>
prev parent reply other threads:[~2016-04-16 0:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-15 10:59 [U-Boot] [RFC PATCH] arm, m68k: fix out-of-range jump Heiko Schocher
2016-04-15 14:39 ` Angelo Dureghello
2016-04-18 5:03 ` Heiko Schocher
2016-04-16 0:30 ` Angelo Dureghello [this message]
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=57118794.8000602@sysam.it \
--to=angelo@sysam.it \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.