@ -33,25 +33,33 @@ endif
PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__
# Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
PF_CPPFLAGS_ARM := $( call cc-option,-marm,)
# Choose between ARM/Thumb instruction sets
i f e q ( $( CONFIG_SYS_THUMB_BUILD ) , y )
PF_CPPFLAGS_ARM := $( call cc-option, -mthumb -mthumb-interwork,\
$( call cc-option,-marm,) \
$( call cc-option,-mno-thumb-interwork,) \
)
e l s e
PF_CPPFLAGS_ARM := $( call cc-option,-marm,) \
$( call cc-option,-mno-thumb-interwork,)
e n d i f
# Try if EABI is supported, else fall back to old API,
# i. e. for example:
# - with ELDK 4.2 (EABI supported), use:
# -mabi=aapcs-linux -mno-thumb-interwork
# -mabi=aapcs-linux
# - with ELDK 4.1 (gcc 4.x, no EABI), use:
# -mabi=apcs-gnu -mno-thumb-interwork
# -mabi=apcs-gnu
# - with ELDK 3.1 (gcc 3.x), use:
# -mapcs-32 -mno-thumb-interwork
# -mapcs-32
PF_CPPFLAGS_ABI := $( call cc-option,\
-mabi= aapcs-linux -mno-thumb-interwork ,\
-mabi= aapcs-linux,\
$( call cc-option,\
-mapcs-32,\
$( call cc-option,\
-mabi= apcs-gnu,\
) \
) $( call cc-option,-mno-thumb-interwork,) \
) \
)
PLATFORM_CPPFLAGS += $( PF_CPPFLAGS_ARM) $( PF_CPPFLAGS_ABI)