Guard include/cxx with CONFIG_LIBMINIABI for C++ builds#18465
Guard include/cxx with CONFIG_LIBMINIABI for C++ builds#18465arjav1528 wants to merge 2 commits intoapache:masterfrom
Conversation
This update introduces a conditional check for CONFIG_LIBMINIABI in the ARCHXXINCLUDES section, ensuring that the appropriate include path is added when the mini ABI configuration is enabled. Signed-off-by: Arjav Patel <arjav1528@gmail.com>
…tectures This update introduces a conditional check for CONFIG_LIBMINIABI in the platform.cmake files for ARM, ARM64, RISC-V, Tricore, and x86_64 architectures, ensuring that the appropriate include path is added when the mini ABI configuration is enabled. Signed-off-by: Arjav Patel <arjav1528@gmail.com>
78bc13e to
e40e0f8
Compare
|
@xiaoxiang781216 could you restart the workflow, the failing workflow seems to be a timeout issue |
|
@arjav1528 C++ builds that use lib from toolchain will technically fail. Further investigation is required to provide a complete solution. See: #18088 (comment) |
linguini1
left a comment
There was a problem hiding this comment.
Please attach the full test logs.
done, also could you please restart the workflows |
@arjav1528 I recommend you test xmc4800 nsh build in a docker container. You should face the issue I mentioned in the issue |
@trns1997 I tested the xmc4800nsh build inside the CI docker container, as per your sugggestion. the build fails, which confirms the issue which you identified. |
|
so most probably its a timeout issue, can be fixed by restarting the workfllow |
hmmm not sure the CI will pass, because the CI uses the same image :/ . So you do not have a choice but address this underlying issue. If i get time tomorrow i will look into it. |
@trns1997 @linguini1 @simbit18 @xiaoxiang781216 do you guys have any idea why is arm2 queued since 1 day 😭 |
Fixes #18088
Summary
include/cxxwas unconditionally added for all C++ builds when neither LIBCXX nor UCLIBCXX was selected. This incorrectly included CONFIG_LIBCXXTOOLCHAIN builds.include/cxxprovides NuttX C++ ABI headers (like libcxxabi), not a full stdlib—using it with an external toolchain causes header conflicts (e.g. div_t/ldiv_t/lldiv_t via cstdlib/stdlib.h).ETL logic unchanged.
Impact
include/cxx(fixes conflict)include/cxxas beforeTesting
Host: macOS (Darwin), arm64
Boards: xmc4800-relax:nsh, sim:cxxtest
Logic verified: CONFIG_UCLIBCXX uses
include/uClibc++; this fix only affects theelsebranch (LIBCXXNONE/LIBCXXTOOLCHAIN). Full verification recommended in CI (Linux/Docker) with proper toolchain.Logs
18088.txt
xmc4800_nsh_docker_build.txt