armv8: prevent using THUMB
The predominantely 32-bit ARM targets try to compile the SPL in Thumb mode to reduce code size. The 64-bit AArch64 instruction set does not know an alternative, concise encoding, so the Thumb build option should only be set for 32-bit targets. Likewise -marm machine options are only valid for ARMv7 targets. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
This commit is contained in:
parent
2865433a46
commit
ebda0cc509
|
|
@ -77,8 +77,10 @@ ifndef CONFIG_HAS_THUMB2
|
||||||
|
|
||||||
# for C files, just apend -marm, which will override previous -mthumb*
|
# for C files, just apend -marm, which will override previous -mthumb*
|
||||||
|
|
||||||
|
ifndef CONFIG_ARM64
|
||||||
CFLAGS_cache.o := -marm
|
CFLAGS_cache.o := -marm
|
||||||
CFLAGS_cache-cp15.o := -marm
|
CFLAGS_cache-cp15.o := -marm
|
||||||
|
endif
|
||||||
|
|
||||||
# For .S, drop -mthumb* and other thumb-related options.
|
# For .S, drop -mthumb* and other thumb-related options.
|
||||||
# CFLAGS_REMOVE_* would not have an effet, so AFLAGS_REMOVE_*
|
# CFLAGS_REMOVE_* would not have an effet, so AFLAGS_REMOVE_*
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
/*
|
/*
|
||||||
* High Level Configuration Options
|
* High Level Configuration Options
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_SPL_BUILD
|
#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_ARM64)
|
||||||
#define CONFIG_SYS_THUMB_BUILD /* Thumbs mode to save space in SPL */
|
#define CONFIG_SYS_THUMB_BUILD /* Thumbs mode to save space in SPL */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue