arch/tricore: Align Makefile with Cmake for tasking linker script preprocessing

Provide linker script preprocessing function porting for
    tasking compiler

Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
This commit is contained in:
wangchengdong 2025-09-23 17:39:40 +08:00 committed by Xiang Xiao
parent 5e9e237868
commit 80f5a06c06
4 changed files with 18 additions and 15 deletions

View file

@ -105,12 +105,10 @@ else
LIBRARY_OPT = -l
endif
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),y)
LDFLAGS += $(addprefix $(SCRIPT_OPT),$(call CONVERT_PATH,$(ARCHSCRIPT))) $(EXTRALINKCMDS)
else
ARCHSCRIPT := $(call CONVERT_PATH,$(ARCHSCRIPT))
LDFLAGS += $(addprefix $(SCRIPT_OPT),$(addsuffix .tmp,$(ARCHSCRIPT))) $(EXTRALINKCMDS)
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),)
LDSTARTGROUP ?= -Wl,--start-group
LDENDGROUP ?= -Wl,--end-group
endif
@ -166,16 +164,11 @@ define LINK_ALLSYMS
$(Q) $(call DELFILE, allsyms.tmp allsyms$(OBJEXT))
endef
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),)
$(addsuffix .tmp,$(ARCHSCRIPT)): $(ARCHSCRIPT)
$(call PREPROCESS, $(patsubst %.tmp,%,$@), $@)
endif
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),y)
nuttx$(EXEEXT): $(HEAD_COBJ) board$(DELIM)libboard$(LIBEXT) $(ARCHSCRIPT) $(EXTRA_LIBS)
else
nuttx$(EXEEXT): $(HEAD_COBJ) board$(DELIM)libboard$(LIBEXT) $(EXTRA_LIBS) $(addsuffix .tmp,$(ARCHSCRIPT))
endif
$(Q) echo "LD: nuttx"
ifneq ($(CONFIG_ALLSYMS),y)
$(Q) $(LD) $(LDFLAGS) $(LIBPATHS) $(EXTRA_LIBPATHS) \
@ -194,9 +187,7 @@ ifneq ($(CONFIG_WINDOWS_NATIVE),y)
grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(TOPDIR)$(DELIM)System.map
endif
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),)
$(Q) $(call DELFILE, $(addsuffix .tmp,$(ARCHSCRIPT)))
endif
# This is part of the top-level export target
# Note that there may not be a head object if layout is handled

View file

@ -25,3 +25,12 @@ ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),y)
else
include $(TOPDIR)/arch/tricore/src/common/ToolchainGnuc.defs
endif
ifeq ($(CONFIG_TRICORE_TOOLCHAIN_TASKING),y)
undefine PREPROCESS
define PREPROCESS
$(ECHO_BEGIN)"CPP: $1->$2 "
$(CPP) $(CPPFLAGS) $1 > $2
$(ECHO_END)
endef
endif

View file

@ -44,9 +44,12 @@ endif
# Tasking toolchain
TASKING_COMPILER_PATH := $(shell which ctc)
C_COMPILER_DIR := $(dir $(TASKING_COMPILER_PATH))
CC = cctc
CXX = cctc
CPP = cctc $(ARCHOPTIMIZATION)
CPP = ctc -E -I$(C_COMPILER_DIR)/../include.lsl
LD = cctc
STRIP = strip --strip-unneeded
AR = artc -r

View file

@ -20,7 +20,7 @@
*
****************************************************************************/
#include "include/nuttx/config.h"
#include <nuttx/config.h>
#define LCF_CSA0_SIZE 40k
#define LCF_USTACK0_SIZE CONFIG_IDLETHREAD_STACKSIZE