From a1c764194bb28dd368a89bd7dc05ac0db107bf66 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Mon, 23 Sep 2024 18:06:28 +0900 Subject: [PATCH 1/3] crosstool-ng: Pull in libstdc++ header path fix for additional libc This commit pulls in the crosstool-ng patch that fixes the wrong libstdc++ C library header path, specified using `--with-headers` argument, for additional libc variants such as newlib-nano and picolibc. Signed-off-by: Stephanos Ioannidis --- crosstool-ng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crosstool-ng b/crosstool-ng index d43d7bf4..53b5327d 160000 --- a/crosstool-ng +++ b/crosstool-ng @@ -1 +1 @@ -Subproject commit d43d7bf4fd2d5723db0d86ccc0066fcb967b5fd2 +Subproject commit 53b5327d821a6b6949fa455f14a9631146af897c From 227bc00ebe225bd0c26ed72f96a4cd0662c3afe5 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Tue, 24 Sep 2024 22:42:59 +0900 Subject: [PATCH 2/3] gcc: Pull in Canadian libc header search path fix GCC was adding the libc header directories to the target include search path only when building non-Canadian cross compilers, which caused wrong libc (newlib) headers to be picked up by the libstdc++ builds for companion libcs such as newlib-nano and picolibc when building a Canadian cross compiler. This commit pulls in the GCC patch that ensures that the libc header directories are always added to the include search path, even when compiling a Canadian cross compiler. Signed-off-by: Stephanos Ioannidis --- gcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc b/gcc index 0835dbe3..df666195 160000 --- a/gcc +++ b/gcc @@ -1 +1 @@ -Subproject commit 0835dbe3b694f50705f225b2af263ad080bb87c7 +Subproject commit df666195d9e9cd45584024aee587d2b5758ff371 From e05392d443f9a7ac1df06c31ff13e07164a2324d Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Mon, 23 Sep 2024 18:09:39 +0900 Subject: [PATCH 3/3] Revert "ci: Exclude C++ sample and test builds on non-Linux hosts" This reverts commit ac8acc26a24511f8e7b922565d4c35cf07a37cb2 because the non-Linux C++ build issue has been fixed. Signed-off-by: Stephanos Ioannidis --- .github/workflows/ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92859524..19ebd738 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1588,18 +1588,12 @@ jobs: # Generate test list TEST_ARGS=" -T ${ZEPHYR_ROOT}/samples/hello_world + -T ${ZEPHYR_ROOT}/samples/cpp/hello_world -T ${ZEPHYR_ROOT}/tests/lib/c_lib + -T ${ZEPHYR_ROOT}/tests/lib/cpp -T ${ZEPHYR_ROOT}/tests/lib/newlib " - # FIXME: Build C++ samples and tests only for Linux hosts because there - # is a known issue causing link failures on non-Linux hosts (see - # GitHub issue #760). - if [ "${{ runner.os }}" == "Linux" ]; then - TEST_ARGS+="-T ${ZEPHYR_ROOT}/samples/cpp/hello_world " - TEST_ARGS+="-T ${ZEPHYR_ROOT}/tests/lib/cpp " - fi - # Run tests with twister TWISTER="${ZEPHYR_ROOT}/scripts/twister" ${TWISTER} -v -N --force-color --inline-logs --retry-failed 3 \