This is an automated email from the ASF dual-hosted git repository. xiaoxiang781216 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 3a2cb309371f402505630471e681510e4c38579b Author: zhangyu117 <[email protected]> AuthorDate: Sat Oct 31 19:58:22 2026 +0800 arch/tricore/tc3xx: fix the TASKING build 1. platform.cmake: use the full ctc path to preprocess the lsl The lsl preprocess command started ctc by bare name through PATH, while the lines around it already use TASKING_COMPILER_PATH found by find_program. With TASKING TriCore v6.3r1 this fails: ctc F104: No license key found for product code SW160800 Use TASKING_COMPILER_PATH as well. 2. iLLD: make IFX_SSW_INLINE static inline With --language=+gcc ctc uses GNU89 inline rules and emits a global copy of every plain inline function, so the iLLD SSW helpers are defined in each object: ltc E108: multiple definitions of symbol "Ifx_Ssw_NOP" ... Define IFX_SSW_INLINE as static inline unconditionally, as the tc4xx iLLD does. Signed-off-by: zhangyu117 <[email protected]> --- arch/tricore/src/cmake/platform.cmake | 2 +- arch/tricore/src/illd/tc3xx/patches/change_illd.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/arch/tricore/src/cmake/platform.cmake b/arch/tricore/src/cmake/platform.cmake index cf7d502c2c5..e2029f07748 100644 --- a/arch/tricore/src/cmake/platform.cmake +++ b/arch/tricore/src/cmake/platform.cmake @@ -68,6 +68,6 @@ if(CONFIG_TRICORE_TOOLCHAIN_TASKING) find_program(TASKING_COMPILER_PATH ctc) get_filename_component(C_COMPILER_DIR ${TASKING_COMPILER_PATH} DIRECTORY) set(PREPROCESS - ${TOOLCHAIN_PREFIX}ctc ${CMAKE_C_FLAG_ARGS} -E + ${TASKING_COMPILER_PATH} ${CMAKE_C_FLAG_ARGS} -E -I${TOOLCHAIN_PREFIX}/../include.lsl -I${C_COMPILER_DIR}/../include.lsl) endif() diff --git a/arch/tricore/src/illd/tc3xx/patches/change_illd.patch b/arch/tricore/src/illd/tc3xx/patches/change_illd.patch index ee7ec37bf39..fec30e60ee1 100644 --- a/arch/tricore/src/illd/tc3xx/patches/change_illd.patch +++ b/arch/tricore/src/illd/tc3xx/patches/change_illd.patch @@ -58,3 +58,18 @@ index 0c6b0771bf0..4b68b8b4121 100644 /* Map Bus Error trap to its handler for CPU0 */ IfxCpu_Tsr_CallTSR(IfxCpu_Trap_busError); /* Map Assertion trap to its handler for CPU0 */ +diff --git a/arch/tricore/src/illd/tc3xx/Libraries/src/Libraries/Infra/Ssw/TC3xx/Tricore/Ifx_Ssw_CompilersTasking.h b/arch/tricore/src/illd/tc3xx/Libraries/src/Libraries/Infra/Ssw/TC3xx/Tricore/Ifx_Ssw_CompilersTasking.h +--- a/arch/tricore/src/illd/tc3xx/Libraries/src/Libraries/Infra/Ssw/TC3xx/Tricore/Ifx_Ssw_CompilersTasking.h ++++ b/arch/tricore/src/illd/tc3xx/Libraries/src/Libraries/Infra/Ssw/TC3xx/Tricore/Ifx_Ssw_CompilersTasking.h +@@ -91,10 +91,6 @@ + + #endif /*IFX_CFG_USE_COMPILER_DEFAULT_LINKER*/ + +-#ifdef __cplusplus +-#define IFX_SSW_INLINE static inline +-#else +-#define IFX_SSW_INLINE inline +-#endif ++#define IFX_SSW_INLINE static inline + + #define IFX_SSW_NULL_PTR ((void *)0x0U)
