Skip to content

Commit c8e0448

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 67a6684 commit c8e0448

18 files changed

+126
-5
lines changed

configs/aarch64-zephyr-elf.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CT_ARCH_ARM=y
66
CT_MULTILIB=y
77
CT_ARCH_64=y
88
CT_TARGET_VENDOR="zephyr"
9-
CT_TARGET_CFLAGS="-moverride=tune=no_ldp_stp_qregs"
9+
CT_TARGET_CFLAGS="-moverride=tune=no_ldp_stp_qregs -ftls-model=local-exec"
1010
CT_BINUTILS_SRC_CUSTOM=y
1111
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1212
CT_NEWLIB_SRC_CUSTOM=y
@@ -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="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/arc-zephyr-elf.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CT_EXPERIMENTAL=y
44
# CT_LOG_PROGRESS_BAR is not set
55
CT_ARCH_ARC=y
66
CT_MULTILIB=y
7-
CT_TARGET_CFLAGS="-mno-sdata -mtp-regno=26"
7+
CT_TARGET_CFLAGS="-mno-sdata -mtp-regno=26 -ftls-model=local-exec"
88
CT_TARGET_VENDOR="zephyr"
99
CT_BINUTILS_SRC_CUSTOM=y
1010
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
@@ -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="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/arc64-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ CT_ARCH_ARC=y
88
CT_MULTILIB=y
99
CT_ARCH_64=y
1010
CT_TARGET_VENDOR="zephyr"
11+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
1112
CT_BINUTILS_SRC_CUSTOM=y
1213
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1314
CT_NEWLIB_SRC_CUSTOM=y
@@ -61,3 +62,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6162
# CT_LIBC_NEWLIB_NANO_LTO is not set
6263
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6364
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
65+
CT_COMP_LIBS_PICOLIBC=y
66+
CT_PICOLIBC_SRC_CUSTOM=y
67+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
68+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
69+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
70+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -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
@@ -6,6 +6,7 @@ CT_ARCH_ARM=y
66
CT_ARCH_ARM_INTERWORKING=y
77
CT_MULTILIB=y
88
CT_TARGET_VENDOR="zephyr"
9+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
910
CT_BINUTILS_SRC_CUSTOM=y
1011
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1112
CT_NEWLIB_SRC_CUSTOM=y
@@ -61,3 +62,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6162
# CT_LIBC_NEWLIB_NANO_LTO is not set
6263
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6364
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
65+
CT_COMP_LIBS_PICOLIBC=y
66+
CT_PICOLIBC_SRC_CUSTOM=y
67+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
68+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
69+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
70+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/mips-zephyr-elf.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CT_EXPERIMENTAL=y
44
# CT_LOG_PROGRESS_BAR is not set
55
CT_ARCH_MIPS=y
66
CT_MULTILIB=y
7-
CT_TARGET_CFLAGS="-G0 -mno-gpopt"
7+
CT_TARGET_CFLAGS="-G0 -mno-gpopt -ftls-model=local-exec"
88
CT_TARGET_VENDOR="zephyr"
99
CT_BINUTILS_SRC_CUSTOM=y
1010
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
@@ -60,3 +60,9 @@ 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="-Dthread-local-storage=auto -Derrno-function=zephyr -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
@@ -6,6 +6,7 @@ CT_ARCH_NIOS2=y
66
CT_MULTILIB=y
77
CT_ARCH_USE_MMU=y
88
CT_TARGET_VENDOR="zephyr"
9+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
910
CT_BINUTILS_SRC_CUSTOM=y
1011
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1112
CT_NEWLIB_SRC_CUSTOM=y
@@ -60,3 +61,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6061
# CT_LIBC_NEWLIB_NANO_LTO is not set
6162
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6263
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="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/riscv64-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ CT_ARCH_64=y
88
CT_ARCH_ARCH="rv32ima_zicsr_zifencei"
99
CT_ARCH_ABI="ilp32"
1010
CT_TARGET_VENDOR="zephyr"
11+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
1112
CT_BINUTILS_SRC_CUSTOM=y
1213
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1314
CT_NEWLIB_SRC_CUSTOM=y
@@ -61,3 +62,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6162
# CT_LIBC_NEWLIB_NANO_LTO is not set
6263
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6364
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
65+
CT_COMP_LIBS_PICOLIBC=y
66+
CT_PICOLIBC_SRC_CUSTOM=y
67+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
68+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
69+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
70+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/sparc-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CT_EXPERIMENTAL=y
55
CT_ARCH_SPARC=y
66
CT_MULTILIB=y
77
CT_TARGET_VENDOR="zephyr"
8+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
89
CT_BINUTILS_SRC_CUSTOM=y
910
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1011
CT_NEWLIB_SRC_CUSTOM=y
@@ -58,3 +59,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
5859
# CT_LIBC_NEWLIB_NANO_LTO is not set
5960
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6061
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="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/x86_64-zephyr-elf.config

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ CT_ARCH_X86=y
66
CT_MULTILIB=y
77
CT_ARCH_64=y
88
CT_TARGET_VENDOR="zephyr"
9+
CT_TARGET_CFLAGS="-ftls-model=local-exec"
910
CT_BINUTILS_SRC_CUSTOM=y
1011
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1112
CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-targets=x86_64-pep"
@@ -61,3 +62,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6162
# CT_LIBC_NEWLIB_NANO_LTO is not set
6263
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6364
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
65+
CT_COMP_LIBS_PICOLIBC=y
66+
CT_PICOLIBC_SRC_CUSTOM=y
67+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
68+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
69+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
70+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

configs/xtensa-espressif_esp32_zephyr-elf.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CT_CONFIG_VERSION="3"
22
CT_EXPERIMENTAL=y
33
# CT_PREFIX_DIR_RO is not set
44
# CT_LOG_PROGRESS_BAR is not set
5-
CT_TARGET_CFLAGS="-mlongcalls"
5+
CT_TARGET_CFLAGS="-mlongcalls -ftls-model=local-exec"
66
CT_ARCH_XTENSA=y
77
CT_XTENSA_CUSTOM=y
88
CT_OVERLAY_NAME="espressif_esp32"
@@ -62,3 +62,9 @@ CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
6262
# CT_LIBC_NEWLIB_NANO_LTO is not set
6363
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
6464
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
65+
CT_COMP_LIBS_PICOLIBC=y
66+
CT_PICOLIBC_SRC_CUSTOM=y
67+
CT_PICOLIBC_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/picolibc"
68+
CT_LIBC_PICOLIBC_GLOBAL_ATEXIT=y
69+
CT_LIBC_PICOLIBC_EXTRA_SECTIONS=y
70+
CT_LIBC_PICOLIBC_EXTRA_CONFIG_ARRAY="-Dthread-local-storage=auto -Derrno-function=zephyr -Dsysroot-install=true -Dsysroot-install-skip-checks=true"

0 commit comments

Comments
 (0)