Skip to content

Commit e909320

Browse files
keith-packardstephanosio
authored andcommitted
Build picolibc for all SDK architectures
This builds both picolibc and libstdc++ with picolibc support using the crosstool-ng support for those configurations. Signed-off-by: Keith Packard <[email protected]>
1 parent 288682c commit e909320

18 files changed

+121
-0
lines changed

configs/aarch64-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6060
# CT_LIBC_NEWLIB_NANO_LTO is not set
6161
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6262
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
63+
CT_COMP_LIBS_PICOLIBC=y
64+
CT_PICOLIBC_SRC_CUSTOM=y
65+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
66+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
67+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
68+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
69+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/arc-zephyr-elf.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
5959
# CT_LIBC_NEWLIB_NANO_LTO is not set
6060
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6161
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
62+
CT_COMP_LIBS_PICOLIBC=y
63+
CT_PICOLIBC_SRC_CUSTOM=y
64+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
65+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
66+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
67+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/arc64-zephyr-elf.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/arm-zephyr-eabi.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/mips-zephyr-elf.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
5959
# CT_LIBC_NEWLIB_NANO_LTO is not set
6060
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6161
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
62+
CT_COMP_LIBS_PICOLIBC=y
63+
CT_PICOLIBC_SRC_CUSTOM=y
64+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
65+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
66+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
67+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/nios2-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
5959
# CT_LIBC_NEWLIB_NANO_LTO is not set
6060
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6161
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
62+
CT_COMP_LIBS_PICOLIBC=y
63+
CT_PICOLIBC_SRC_CUSTOM=y
64+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
65+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
66+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
67+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
68+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/riscv64-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/sparc-zephyr-elf.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
5858
# CT_LIBC_NEWLIB_NANO_LTO is not set
5959
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6060
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
61+
CT_COMP_LIBS_PICOLIBC=y
62+
CT_PICOLIBC_SRC_CUSTOM=y
63+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
64+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
65+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
66+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/x86_64-zephyr-elf.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/xtensa-espressif_esp32_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-espressif_esp32s2_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-intel_apl_adsp_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-intel_bdw_adsp_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-intel_byt_adsp_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-intel_s1000_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-nxp_imx8m_adsp_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-nxp_imx_adsp_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6161
# CT_LIBC_NEWLIB_NANO_LTO is not set
6262
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6363
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
64+
CT_COMP_LIBS_PICOLIBC=y
65+
CT_PICOLIBC_SRC_CUSTOM=y
66+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
67+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
68+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
69+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
70+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

configs/xtensa-sample_controller_zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,10 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6060
# CT_LIBC_NEWLIB_NANO_LTO is not set
6161
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6262
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
63+
CT_COMP_LIBS_PICOLIBC=y
64+
CT_PICOLIBC_SRC_CUSTOM=y
65+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
66+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
67+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
68+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dsysroot-install=true -Dsysroot-install-skip-checks=true"
69+
CT_TARGET_CFLAGS="-ftls-model=local-exec"

0 commit comments

Comments
 (0)