ssekar15 opened a new pull request, #21437:
URL: https://github.com/apache/nuttx/pull/21437
## Summary
The TriCore TASKING build does not work with make on master: cctc stops at
the first file on the -isystem include paths (E205), and past that the libc
assembly rules break on the .asm extension. The make and cmake builds then
still fail to link, on the TASKING runtime init (_c_init), the near data
placement on TC3x and the math library (isinf/isnan, and the toolchain
libm.a that VX v6.4r1 does not ship).
This series fixes the TASKING make build for both boards, takes cinit.o
from the TASKING C library, moves both nsh configs to the NuttX libm, and
keeps the TC1.8-only string routines off TC1.6.2 cores. With it, both
a2g-tc397-5v-tft and triboard_tc4x9_com build with GCC and TASKING, make
and cmake, and boot.
## Impact
TriCore only (arch/tricore, boards/tricore, libs/libc/machine/tricore), plus
the TASKING section of include/nuttx/compiler.h and the assembly rules of
libs/libc/Makefile.
* TASKING: make now builds both boards; cmake builds TC397 again.
* GCC: same code; both nsh defconfigs now use the NuttX libm instead of the
toolchain libm.
* TRICORE_MEMCPY/MEMSET/MEMMOVE can no longer be selected on TC1.6.2 cores.
## Testing
I confirm that changes are verified on local setup and works as intended:
* Build Host(s): Linux x86_64, Debian GNU/Linux 12 (bookworm)
* Toolchains: AURIX GCC 11.3.1 (tricore-elf-gcc), TASKING VX-toolset v6.4r1
(TC3x), TASKING SmartCode v10.4r1 (TC4x)
* Build systems: make, cmake (Ninja)
* Target(s): a2g-tc397-5v-tft:nsh, triboard_tc4x9_com:nsh
* Hardware: TriBoard TC397 V2.0; TriBoard TC4x7 COM V3.0 for the
triboard_tc4x9_com image
* Each commit passes tools/checkpatch.sh.
Build results on master 947dbe6ee09:
| Board | GCC make | GCC cmake | TASKING make | TASKING cmake |
|---|---|---|---|---|
| a2g-tc397-5v-tft:nsh, master | pass | pass | fail (E205) | fail (libm.a
missing) |
| a2g-tc397-5v-tft:nsh, this PR | pass | pass | pass | pass |
| triboard_tc4x9_com:nsh, master | pass | pass | fail (E205) | fail (libm.a
missing) |
| triboard_tc4x9_com:nsh, this PR | pass | pass | pass | pass |
Runtime, make images flashed and booted:
```
nsh> uname -a
NuttX 10.4.0 af1467e01a1 Nov 4 2026 12:57:16 tricore a2g-tc397-5v-tft
(GCC)
NuttX 10.4.0 af1467e01a1 Nov 4 2026 12:58:02 tricore a2g-tc397-5v-tft
(TASKING)
NuttX 10.4.0 af1467e01a1 Nov 4 2026 12:58:22 tricore triboard_tc4x9_com
(GCC)
NuttX 10.4.0 af1467e01a1 Nov 4 2026 12:58:40 tricore triboard_tc4x9_com
(TASKING)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]