summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/libc/uClibc.in9
-rw-r--r--samples/aarch64-unknown-linux-uclibcgnueabi/crosstool.config14
-rw-r--r--samples/aarch64-unknown-linux-uclibcgnueabi/reported.by3
-rw-r--r--scripts/build/arch/arm.sh44
4 files changed, 48 insertions, 22 deletions
diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in
index d3281e2..219426a 100644
--- a/config/libc/uClibc.in
+++ b/config/libc/uClibc.in
@@ -81,9 +81,15 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config LIBC_UCLIBC_NG_V_1_0_22
+ bool
+ prompt "1.0.22"
+ select LIBC_UCLIBC_NG_1_0_15_or_later
+
config LIBC_UCLIBC_NG_V_1_0_21
bool
- prompt "1.0.21"
+ prompt "1.0.21 (OBSOLETE)"
+ depends on OBSOLETE
select LIBC_UCLIBC_NG_1_0_15_or_later
config LIBC_UCLIBC_NG_V_1_0_20
@@ -103,6 +109,7 @@ config LIBC_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "1.0.22" if LIBC_UCLIBC_NG_V_1_0_22
default "1.0.21" if LIBC_UCLIBC_NG_V_1_0_21
default "1.0.20" if LIBC_UCLIBC_NG_V_1_0_20
default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2
diff --git a/samples/aarch64-unknown-linux-uclibcgnueabi/crosstool.config b/samples/aarch64-unknown-linux-uclibcgnueabi/crosstool.config
new file mode 100644
index 0000000..523ce93
--- /dev/null
+++ b/samples/aarch64-unknown-linux-uclibcgnueabi/crosstool.config
@@ -0,0 +1,14 @@
+CT_ARCH_64=y
+CT_ARCH_arm=y
+CT_TARGET_VENDOR=""
+CT_KERNEL_linux=y
+CT_BINUTILS_LINKER_LD_GOLD=y
+CT_BINUTILS_GOLD_THREADS=y
+CT_BINUTILS_LD_WRAPPER=y
+CT_BINUTILS_PLUGINS=y
+CT_LIBC_uClibc=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_gdb=y
+CT_GDB_NATIVE=y
+CT_DEBUG_strace=y
+CT_GETTEXT=y
diff --git a/samples/aarch64-unknown-linux-uclibcgnueabi/reported.by b/samples/aarch64-unknown-linux-uclibcgnueabi/reported.by
new file mode 100644
index 0000000..d4dfbc2
--- /dev/null
+++ b/samples/aarch64-unknown-linux-uclibcgnueabi/reported.by
@@ -0,0 +1,3 @@
+reporter_name="Alexey Neyman"
+reporter_url=""
+reporter_comment="Sample AArch64/uClibc-ng configuration."
diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh
index b728311..182548e 100644
--- a/scripts/build/arch/arm.sh
+++ b/scripts/build/arch/arm.sh
@@ -59,28 +59,30 @@ CT_DoArchTupleValues() {
CT_DoArchUClibcConfig() {
local cfg="${1}"
- CT_DoArchUClibcSelectArch "${cfg}" "arm"
-
- case "${CT_ARCH_ARM_MODE}" in
- arm)
- CT_KconfigDisableOption "COMPILE_IN_THUMB_MODE" "${cfg}"
- ;;
- thumb)
- CT_KconfigEnableOption "COMPILE_IN_THUMB_MODE" "${cfg}"
- ;;
- esac
-
- # FIXME: CONFIG_ARM_OABI does not exist in neither uClibc/uClibc-ng
- # FIXME: CONFIG_ARM_EABI does not seem to affect anything in either of them, too
- # (both check the compiler's built-in define, __ARM_EABI__ instead) except for
- # a check for match between toolchain configuration and uClibc-ng in
- # uClibc_arch_features.h
- if [ "${CT_ARCH_ARM_EABI}" = "y" ]; then
- CT_KconfigDisableOption "CONFIG_ARM_OABI" "${cfg}"
- CT_KconfigEnableOption "CONFIG_ARM_EABI" "${cfg}"
+ if [ "${CT_ARCH_BITNESS}" = 64 ]; then
+ CT_DoArchUClibcSelectArch "${cfg}" "aarch64"
else
- CT_KconfigDisableOption "CONFIG_ARM_EABI" "${cfg}"
- CT_KconfigEnableOption "CONFIG_ARM_OABI" "${cfg}"
+ CT_DoArchUClibcSelectArch "${cfg}" "arm"
+ case "${CT_ARCH_ARM_MODE}" in
+ arm)
+ CT_KconfigDisableOption "COMPILE_IN_THUMB_MODE" "${cfg}"
+ ;;
+ thumb)
+ CT_KconfigEnableOption "COMPILE_IN_THUMB_MODE" "${cfg}"
+ ;;
+ esac
+ # FIXME: CONFIG_ARM_OABI does not exist in neither uClibc/uClibc-ng
+ # FIXME: CONFIG_ARM_EABI does not seem to affect anything in either of them, too
+ # (both check the compiler's built-in define, __ARM_EABI__ instead) except for
+ # a check for match between toolchain configuration and uClibc-ng in
+ # uClibc_arch_features.h
+ if [ "${CT_ARCH_ARM_EABI}" = "y" ]; then
+ CT_KconfigDisableOption "CONFIG_ARM_OABI" "${cfg}"
+ CT_KconfigEnableOption "CONFIG_ARM_EABI" "${cfg}"
+ else
+ CT_KconfigDisableOption "CONFIG_ARM_EABI" "${cfg}"
+ CT_KconfigEnableOption "CONFIG_ARM_OABI" "${cfg}"
+ fi
fi
}