From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: prevent using movt/movw address loads
Date: Mon, 23 Sep 2013 15:48:44 +0200 [thread overview]
Message-ID: <20130923154844.10d4ff54@lilith> (raw)
In-Reply-To: <1377345338-9695-1-git-send-email-jeroen@myspectrum.nl>
Hi Jeroen,
On Sat, 24 Aug 2013 13:55:38 +0200, Jeroen Hofstee
<jeroen@myspectrum.nl> wrote:
> The movt/movw instruction can be used to hardcode an
> memory location in the instruction itself. The linker
> starts complaining about this if the compiler decides
> to do so: "relocation R_ARM_MOVW_ABS_NC against `a local
> symbol' can not be used" and it is not support by U-boot
> as well. Prevent their use by requiring word relocations.
> This allows u-boot to be build at other optimalization
> levels then -Os.
>
> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
> Cc: TigerLiu at viatech.com.cn
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> ---
> arch/arm/config.mk | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/config.mk b/arch/arm/config.mk
> index 540a119..2277c82 100644
> --- a/arch/arm/config.mk
> +++ b/arch/arm/config.mk
> @@ -94,7 +94,11 @@ PLATFORM_RELFLAGS += -fno-optimize-sibling-calls
> endif
> endif
>
> -# check that only R_ARM_RELATIVE relocations are generated
> ifneq ($(CONFIG_SPL_BUILD),y)
> -ALL-y += checkarmreloc
> +# Check that only R_ARM_RELATIVE relocations are generated.
> +ALL-y += checkarmreloc
> +# The movt / movw can hardcode 16 bit parts of the addresses in the
> +# instruction. Relocation is not supported for that case, so disable
> +# such usage by requiring word relocations.
> +PLATFORM_CPPFLAGS += $(call cc-option, -mword-relocations)
> endif
Applied as a bugfix to u-boot-arm/master, thanks!
Amicalement,
--
Albert.
next prev parent reply other threads:[~2013-09-23 13:48 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-24 11:55 [U-Boot] [PATCH] arm: prevent using movt/movw address loads Jeroen Hofstee
2013-09-17 10:44 ` TigerLiu at viatech.com.cn
2013-09-17 18:34 ` Jeroen Hofstee
2013-09-19 21:16 ` Tom Rini
2013-09-20 17:15 ` Jeroen Hofstee
2013-09-20 18:03 ` Tom Rini
2013-09-21 2:43 ` Simon Glass
2013-09-23 13:48 ` Albert ARIBAUD [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-09-17 8:01 TigerLiu at viatech.com.cn
2013-09-17 8:35 ` Wolfgang Denk
2013-09-17 9:26 ` TigerLiu at viatech.com.cn
2013-09-17 10:19 ` Wolfgang Denk
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=20130923154844.10d4ff54@lilith \
--to=albert.u.boot@aribaud.net \
--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.