diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1be30edf..e7ec5eba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,6 +50,7 @@ on: - mips-zephyr-elf - nios2-zephyr-elf - riscv64-zephyr-elf + - rx-zephyr-elf - sparc-zephyr-elf - x86_64-zephyr-elf - xtensa-amd_acp_6_0_adsp_zephyr-elf @@ -171,6 +172,7 @@ jobs: mips-zephyr-elf) build_target_mips_zephyr_elf="y";; nios2-zephyr-elf) build_target_nios2_zephyr_elf="y";; riscv64-zephyr-elf) build_target_riscv64_zephyr_elf="y";; + rx-zephyr-elf) build_target_rx_zephyr_elf="y";; sparc-zephyr-elf) build_target_sparc_zephyr_elf="y";; x86_64-zephyr-elf) build_target_x86_64_zephyr_elf="y";; xtensa-amd_acp_6_0_adsp_zephyr-elf) build_target_xtensa_amd_acp_6_0_adsp_zephyr_elf="y";; @@ -220,6 +222,7 @@ jobs: build_target_mips_zephyr_elf="y" build_target_nios2_zephyr_elf="y" build_target_riscv64_zephyr_elf="y" + build_target_rx_zephyr_elf="y" build_target_sparc_zephyr_elf="y" build_target_x86_64_zephyr_elf="y" build_target_xtensa_amd_acp_6_0_adsp_zephyr_elf="y" @@ -309,6 +312,7 @@ jobs: [ "${build_target_mips_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"mips-zephyr-elf",' [ "${build_target_nios2_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"nios2-zephyr-elf",' [ "${build_target_riscv64_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"riscv64-zephyr-elf",' + [ "${build_target_rx_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"rx-zephyr-elf",' [ "${build_target_sparc_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"sparc-zephyr-elf",' [ "${build_target_x86_64_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"x86_64-zephyr-elf",' [ "${build_target_xtensa_amd_acp_6_0_adsp_zephyr_elf}" == "y" ] && MATRIX_TARGETS+='"xtensa-amd_acp_6_0_adsp_zephyr-elf",' @@ -1564,6 +1568,9 @@ jobs: PLATFORM_ARGS+="-p qemu_riscv32e " PLATFORM_ARGS+="-p qemu_riscv64 " ;; + rx-zephyr-elf) + PLATFORM_ARGS+="-p qemu_rx " + ;; sparc-zephyr-elf) PLATFORM_ARGS+="-p qemu_leon3 " ;; diff --git a/README.md b/README.md index c731b84b..d4f6cc4b 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ The toolchains for the following target architectures are supported: - MIPS (32-bit and 64-bit) - Nios II - RISC-V (32-bit and 64-bit; RV32I, RV32E, RV64I) +- RX - SPARC (32-bit and 64-bit; SPARC V8, SPARC V9) - x86 (32-bit and 64-bit) - Xtensa (sample_controller and other vendor-specific variants) diff --git a/cmake/zephyr/target.cmake b/cmake/zephyr/target.cmake index 2d485778..8fc12ebf 100644 --- a/cmake/zephyr/target.cmake +++ b/cmake/zephyr/target.cmake @@ -10,6 +10,7 @@ set(CROSS_COMPILE_TARGET_arm64 aarch64-zephyr-elf) set(CROSS_COMPILE_TARGET_nios2 nios2-zephyr-elf) set(CROSS_COMPILE_TARGET_riscv riscv64-zephyr-elf) set(CROSS_COMPILE_TARGET_mips mips-zephyr-elf) +set(CROSS_COMPILE_TARGET_rx rx-zephyr-elf) set(CROSS_COMPILE_TARGET_microblaze microblazeel-zephyr-elf) set(CROSS_COMPILE_TARGET_xtensa xtensa-${SOC_TOOLCHAIN_NAME}_zephyr-elf) diff --git a/configs/arc-zephyr-elf.config b/configs/arc-zephyr-elf.config index 8fd001fa..ecd61eed 100644 --- a/configs/arc-zephyr-elf.config +++ b/configs/arc-zephyr-elf.config @@ -4,3 +4,4 @@ CT_ARCH_ARC=y CT_TARGET_VENDOR="zephyr" CT_TARGET_CFLAGS="-mno-sdata -mtp-regno=26 -ftls-model=local-exec" CT_MULTILIB=y +CT_MULTILIB_SPACE=y diff --git a/configs/arm-zephyr-eabi.config b/configs/arm-zephyr-eabi.config index cc8ccba4..6da478d9 100644 --- a/configs/arm-zephyr-eabi.config +++ b/configs/arm-zephyr-eabi.config @@ -5,5 +5,6 @@ CT_ARCH_ARM_INTERWORKING=y CT_TARGET_VENDOR="zephyr" CT_TARGET_CFLAGS="-ftls-model=local-exec" CT_MULTILIB=y +CT_MULTILIB_SPACE=y CT_CC_GCC_MULTILIB_LIST="rmprofile" CT_LIBC_NEWLIB_NANO_TARGET_CFLAGS="-mthumb-interwork" diff --git a/configs/common.config b/configs/common.config index 9c317655..b8322951 100644 --- a/configs/common.config +++ b/configs/common.config @@ -72,4 +72,5 @@ CT_PICOLIBC_SRC_CUSTOM=y CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc" CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y +CT_LIBC_PICOLIBC_ENABLE_TARGET_OPTSPACE=n CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true -Dassert-verbose=false" diff --git a/configs/microblazeel-zephyr-elf.config b/configs/microblazeel-zephyr-elf.config index 324bd4a2..ad84f6a0 100644 --- a/configs/microblazeel-zephyr-elf.config +++ b/configs/microblazeel-zephyr-elf.config @@ -5,6 +5,3 @@ CT_ARCH_LE=y CT_TARGET_CFLAGS="-G0 -fno-pic" CT_TARGET_VENDOR="zephyr" CT_MULTILIB=y -# FIXME: Picolibc is disabled for microblazeel due to build failure -# (see GitHub issue #639). -CT_COMP_LIBS_PICOLIBC=n diff --git a/configs/rx-zephyr-elf.config b/configs/rx-zephyr-elf.config new file mode 100644 index 00000000..157cb336 --- /dev/null +++ b/configs/rx-zephyr-elf.config @@ -0,0 +1,6 @@ +CT_CONFIG_VERSION="3" +CT_EXPERIMENTAL=y +CT_ARCH_RX=y +CT_TARGET_CFLAGS="-ftls-model=local-exec" +CT_TARGET_VENDOR="zephyr" +CT_MULTILIB=y diff --git a/contrib/linux_build_toolchain.sh b/contrib/linux_build_toolchain.sh old mode 100644 new mode 100755 index d8fdeacf..5a5a9991 --- a/contrib/linux_build_toolchain.sh +++ b/contrib/linux_build_toolchain.sh @@ -21,7 +21,7 @@ function usage() echo " Default is ${SDK_DIR}" echo "" echo " -o Build directory, for building artifacts and final output. Optional." - echo " Default is ${WORKSPACE}" + echo " Default is ${BUILD_DIR}" echo "" echo " -h This help." echo "" @@ -129,7 +129,7 @@ EOF "${CT_NG}" distclean "${CT_NG}" defconfig DEFCONFIG=build.config -"${CT_NG}" build +"${CT_NG}" build || exit 1 chmod -R u+w "${TOOLCHAIN_OUTPUT_DIR}" diff --git a/crosstool-ng b/crosstool-ng index 53b5327d..e6d8419a 160000 --- a/crosstool-ng +++ b/crosstool-ng @@ -1 +1 @@ -Subproject commit 53b5327d821a6b6949fa455f14a9631146af897c +Subproject commit e6d8419a8f38622f882cb3ffb285b92b3e2318ec diff --git a/gcc b/gcc index 428d8d7b..d2d79002 160000 --- a/gcc +++ b/gcc @@ -1 +1 @@ -Subproject commit 428d8d7b0542338244ca41ac06a5f3fa4f29bb6d +Subproject commit d2d79002cb182ce30e77687dab2bff9e66f63185 diff --git a/picolibc b/picolibc index 0b02b977..51a8b328 160000 --- a/picolibc +++ b/picolibc @@ -1 +1 @@ -Subproject commit 0b02b9779a5cc6ed3eebc760d54e9befeb255f31 +Subproject commit 51a8b32857e75345c37652a80b5cda98b28d69e5