feature: 支持IAR C++ thread_local特性

在需要IAR的thread_local特性时,在targets_config.h中包含los_iar_tls.h,覆盖los_config.h的默认定义,使能该特性。

close #I4PTVZ

Signed-off-by: JerryH <huangjieliang@huawei.com>
Change-Id: I92d3f960555f95cb3618dd5e3915824105eb13a4
This commit is contained in:
JerryH
2022-01-10 20:03:08 +08:00
parent 4a120d7533
commit b98aa4eacd
5 changed files with 300 additions and 0 deletions

View File

@@ -749,6 +749,9 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskCreateOnly(UINT32 *taskID, TSK_INIT_PARAM_S
if (retVal != LOS_OK) {
return retVal;
}
LOSCFG_TASK_CREATE_EXTENSION_HOOK(taskCB);
#if (LOSCFG_BASE_CORE_CPUP == 1)
intSave = LOS_IntLock();
g_cpup[taskCB->taskID].cpupID = taskCB->taskID;
@@ -1084,6 +1087,9 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_TaskDelete(UINT32 taskID)
// Ignore the return code when matching CSEC rule 6.6(4).
(VOID)memset_s((VOID *)&g_cpup[taskCB->taskID], sizeof(OsCpupCB), 0, sizeof(OsCpupCB));
#endif
LOSCFG_TASK_DELETE_EXTENSION_HOOK(taskCB);
if (taskCB->taskStatus & OS_TASK_STATUS_RUNNING) {
if (!(taskCB->taskStatus & OS_TASK_STATUS_EXIT)) {
taskCB->taskStatus = OS_TASK_STATUS_UNUSED;