From c1c475d0a0c930d236413e3c1e304ca4fd6ab4a3 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 16 Sep 2020 11:51:26 -0700 Subject: Map picolibc to suitable CT_TARGET_SYS values picolibc is another bare-metal C library, and so should be mapped to CT_TARGET_SYS just like newlib does. Signed-off-by: Keith Packard diff --git a/scripts/build/arch/powerpc.sh b/scripts/build/arch/powerpc.sh index 36a727a..85c64d1 100644 --- a/scripts/build/arch/powerpc.sh +++ b/scripts/build/arch/powerpc.sh @@ -7,12 +7,12 @@ CT_DoArchTupleValues () { # Only override values when ABI is not the default case "${CT_ARCH_powerpc_ABI}" in eabi) - # EABI is only for bare-metal, so libc ∈ [none,newlib] + # EABI is only for bare-metal, so libc ∈ [none,newlib,picolibc] CT_TARGET_SYS="eabi" ;; spe) case "${CT_LIBC}" in - none|newlib) CT_TARGET_SYS="elfspe";; + none|newlib|picolibc) CT_TARGET_SYS="elfspe";; *glibc) CT_TARGET_SYS="gnuspe";; uClibc) CT_TARGET_SYS="uclibcgnuspe";; esac diff --git a/scripts/functions b/scripts/functions index 2227de7..215f3c8 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1135,7 +1135,7 @@ CT_DoBuildTargetTuple() uClibc) CT_TARGET_SYS=uclibc;; musl) CT_TARGET_SYS=musl;; bionic) CT_TARGET_SYS=android;; - none|newlib) CT_TARGET_SYS=elf;; + none|newlib|picolibc) CT_TARGET_SYS=elf;; *) # Keep empty for the libraries like mingw or avr-libc CT_TARGET_SYS= -- cgit v0.10.2-6-g49f6 From e802686d86bac3899347602c180e3dbe5e90ced8 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 16 Sep 2020 16:04:51 -0700 Subject: picolibc: Use target architecture to drive picolibc configuration This selects code matching the target architecture within picolibc. Signed-off-by: Keith Packard diff --git a/scripts/build/libc/picolibc.sh b/scripts/build/libc/picolibc.sh index 3c22def..152125c 100644 --- a/scripts/build/libc/picolibc.sh +++ b/scripts/build/libc/picolibc.sh @@ -22,7 +22,7 @@ picolibc_main() CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc" - CT_DoLog EXTRA "Configuring C library" + CT_DoLog EXTRA "Configuring Picolibc library" # Multilib is the default, so if it is not enabled, disable it. if [ "${CT_MULTILIB}" != "y" ]; then @@ -81,10 +81,10 @@ as = '${CT_TARGET}-as' strip = '${CT_TARGET}-strip' [host_machine] -system = 'none' -cpu_family = 'arm' -cpu = 'arm' -endian = 'little' +system = '${CT_TARGET_VENDOR}' +cpu_family = '${CT_TARGET_ARCH}' +cpu = '${CT_TARGET_ARCH}' +endian = '${CT_ARCH_ENDIAN}' [properties] c_args = [ ${meson_cflags} '-nostdlib', '-fno-common', '-ftls-model=local-exec' ] -- cgit v0.10.2-6-g49f6