diff options
-rw-r--r-- | config/libc/uClibc.in | 9 | ||||
-rw-r--r-- | samples/aarch64-unknown-linux-uclibcgnueabi/crosstool.config | 14 | ||||
-rw-r--r-- | samples/aarch64-unknown-linux-uclibcgnueabi/reported.by | 3 | ||||
-rw-r--r-- | scripts/build/arch/arm.sh | 44 |
4 files changed, 48 insertions, 22 deletions
diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in index d3281e22..219426a0 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 00000000..523ce93b --- /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 00000000..d4dfbc24 --- /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 b728311e..182548ea 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 } |