summaryrefslogtreecommitdiff
path: root/scripts/build/arch
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2016-10-24 21:48:57 (GMT)
committerMax Filippov <jcmvbkbc@gmail.com>2016-11-22 18:48:34 (GMT)
commit6c6829a0610e6282be922183c9601cb2365df9a4 (patch)
tree1801f8bc2ec990477737067bffd8fb122b378fd8 /scripts/build/arch
parent0946ce59a09609b743b7dba40f7212778011f286 (diff)
xtensa: fix endianness support
To build uClibc correctly we need correct endianness selected in the crosstool-NG. Xtensa cores may be little- or big-endian, but this property is static. The toolchain knows the core endianness and doesn't need options to select it. Enable ARCH_SUPPORTS_BOTH_ENDIAN and select LE by default. Specify empty CT_ARCH_ENDIAN_CFLAG so that -m{big,little}-endian don't get added to the TARGET_CFLAGS, as it's not supported by gcc. Specify empty CT_ARCH_ENDIAN_LDFLAG so that -EB/-EL don't get added to the TARGET_LDFLAGS as they are ignored. Select big-endian in the example xtensa-unknown-linux-uclibc configuration. This fixes uClibc toolchain build for little-endian cores. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'scripts/build/arch')
-rw-r--r--scripts/build/arch/xtensa.sh2
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/build/arch/xtensa.sh b/scripts/build/arch/xtensa.sh
index a3010c6..bf94ddf 100644
--- a/scripts/build/arch/xtensa.sh
+++ b/scripts/build/arch/xtensa.sh
@@ -3,6 +3,8 @@
CT_DoArchTupleValues() {
# The architecture part of the tuple:
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX}"
+ CT_ARCH_ENDIAN_CFLAG=""
+ CT_ARCH_ENDIAN_LDFLAG=""
# The system part of the tuple:
case "${CT_LIBC}" in
*glibc) CT_TARGET_SYS=gnu;;