ARM big-endian has two different binary formats. BE8 and the older BE32.
They are incompatible with each other.
Handle those when evaluating ARCH_CC_CAN_LINK by using the respective
configuration of the kernel itself.
Fixes:
3df8585afd9b ("ARM: 9469/1: Implement ARCH_HAS_CC_CAN_LINK")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
config ARCH_CC_CAN_LINK
bool
default $(cc_can_link_user,-mlittle-endian) if CPU_LITTLE_ENDIAN
- default $(cc_can_link_user,-mbig-endian) if CPU_BIG_ENDIAN
+ default $(cc_can_link_user,-mbig-endian -mbe8) if CPU_ENDIAN_BE8
+ default $(cc_can_link_user,-mbig-endian -mbe32) if CPU_ENDIAN_BE32
config ARCH_USERFLAGS
string
default "-mlittle-endian" if CPU_LITTLE_ENDIAN
- default "-mbig-endian" if CPU_BIG_ENDIAN
+ default "-mbig-endian -mbe8" if CPU_ENDIAN_BE8
+ default "-mbig-endian -mbe32" if CPU_ENDIAN_BE32
menu "Power management options"