From f8ed7002c698a0833f7498a55b5badf905d36eee Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 22 Mar 2019 18:47:19 -0700 Subject: Add support for noMMU xtensa scripts/build/kernel/linux.sh only provides suffix to known architectures when building toolchain targeting noMMU linux. Add support for xtensa and assign uclinux suffix to it. Signed-off-by: Max Filippov diff --git a/scripts/build/kernel/linux.sh b/scripts/build/kernel/linux.sh index f098765..bfeadf0 100644 --- a/scripts/build/kernel/linux.sh +++ b/scripts/build/kernel/linux.sh @@ -9,9 +9,9 @@ CT_DoKernelTupleValues() # while others must have a -linux tuple. Other targets # should be added here when someone starts to care about them. case "${CT_ARCH}" in - arm*) CT_TARGET_KERNEL="linux" ;; - m68k) CT_TARGET_KERNEL="uclinux" ;; - *) CT_Abort "Unsupported no-mmu arch '${CT_ARCH}'" + arm*) CT_TARGET_KERNEL="linux" ;; + m68k|xtensa*) CT_TARGET_KERNEL="uclinux" ;; + *) CT_Abort "Unsupported no-mmu arch '${CT_ARCH}'" esac fi } -- cgit v0.10.2-6-g49f6 From 4f360146eb582d7c994080a64e9e9e9e817bdbdb Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 22 Mar 2019 18:49:44 -0700 Subject: Fix uClibc build for noMMU target uclibc_backend_once tries to build dummy shared libraries regardless of whether shared libraries support for target is enabled or not, resulting in build failure in noMMU bFLT configuration. Only build dummy shared libraries when shared library support for target is enabled. Signed-off-by: Max Filippov diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index fbee4aa..2ae6e0c 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -153,20 +153,22 @@ uClibc_backend_once() CT_DoExecLog ALL make ${jflag} "${make_args[@]}" \ lib/crt1.o lib/crti.o lib/crtn.o - # From: http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=ad5668a7ac7e0436db92e55caaf3fdf782b6ba3b - # libm.so is needed for ppc, as libgcc is linked against libm.so - # No problem to create it for other archs. - CT_DoLog EXTRA "Building dummy shared libs" - CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -nostdlib -nostartfiles \ - -shared ${multi_flags} -x c /dev/null -o libdummy.so - - CT_DoLog EXTRA "Installing start files" - CT_DoExecLog ALL install -m 0644 lib/crt1.o lib/crti.o lib/crtn.o \ - "${startfiles_dir}" - - CT_DoLog EXTRA "Installing dummy shared libs" - CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libc.so" - CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libm.so" + if [ "${CT_SHARED_LIBS}" = "y" ]; then + # From: http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=ad5668a7ac7e0436db92e55caaf3fdf782b6ba3b + # libm.so is needed for ppc, as libgcc is linked against libm.so + # No problem to create it for other archs. + CT_DoLog EXTRA "Building dummy shared libs" + CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -nostdlib -nostartfiles \ + -shared ${multi_flags} -x c /dev/null -o libdummy.so + + CT_DoLog EXTRA "Installing start files" + CT_DoExecLog ALL install -m 0644 lib/crt1.o lib/crti.o lib/crtn.o \ + "${startfiles_dir}" + + CT_DoLog EXTRA "Installing dummy shared libs" + CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libc.so" + CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libm.so" + fi # CT_SHARED_LIBS == y fi # CT_THREADS == nptl fi # libc_mode == startfiles -- cgit v0.10.2-6-g49f6