From ac8c2c6d5b9ede0e46b48212f0b3447605a613c4 Mon Sep 17 00:00:00 2001
From: Caoruihong <crh.cao@huawei.com>
Date: Wed, 7 Jul 2021 00:03:12 +0800
Subject: [PATCH] fix: minimal compile

fix compile errors in minimal compilation

Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I48f4f7b27c684e2c747c1949776c5c4f9e383dec
---
 apps/module.mk                                    |  2 ++
 arch/arm/arm/src/los_exc.c                        |  2 +-
 fs/proc/os_adapt/kernel_trace_proc.c              |  2 +-
 kernel/base/core/los_task.c                       |  2 ++
 kernel/base/include/los_task_pri.h                |  2 ++
 kernel/base/ipc/los_signal.c                      |  2 ++
 kernel/base/vm/los_vm_filemap.c                   |  2 ++
 syscall/los_syscall.h                             |  2 ++
 .../mini_qemu_liteos_a_clang.config}              |  1 +
 .../mini_qemu_liteos_a_clang_release.config       | 15 +++++++++++++++
 tools/build/mk/los_config.mk                      |  2 ++
 11 files changed, 32 insertions(+), 2 deletions(-)
 rename tools/build/config/{qemu_arm_virt_mini.config => debug/mini_qemu_liteos_a_clang.config} (94%)
 create mode 100644 tools/build/config/mini_qemu_liteos_a_clang_release.config

diff --git a/apps/module.mk b/apps/module.mk
index e2d014d6..b3df0fc2 100644
--- a/apps/module.mk
+++ b/apps/module.mk
@@ -45,6 +45,8 @@ endif
 
 #only enable for qemu now
 ifeq ($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
+ifeq ($(LOSCFG_SHELL), y)
 APP_SUBDIRS += mksh
 APP_SUBDIRS += toybox
 endif
+endif
diff --git a/arch/arm/arm/src/los_exc.c b/arch/arm/arm/src/los_exc.c
index 06bbdb39..5c1b10a7 100644
--- a/arch/arm/arm/src/los_exc.c
+++ b/arch/arm/arm/src/los_exc.c
@@ -1182,7 +1182,7 @@ __attribute__((noinline)) VOID LOS_Panic(const CHAR *fmt, ...)
 }
 
 /* stack protector */
-UINT32 __stack_chk_guard = 0xd00a0dff;
+USED UINT32 __stack_chk_guard = 0xd00a0dff;
 
 VOID __stack_chk_fail(VOID)
 {
diff --git a/fs/proc/os_adapt/kernel_trace_proc.c b/fs/proc/os_adapt/kernel_trace_proc.c
index dbb77853..16445b81 100644
--- a/fs/proc/os_adapt/kernel_trace_proc.c
+++ b/fs/proc/os_adapt/kernel_trace_proc.c
@@ -32,9 +32,9 @@
 #include <sys/statfs.h>
 #include <sys/mount.h>
 #include "proc_fs.h"
-#include "los_trace.h"
 
 #ifdef LOSCFG_KERNEL_TRACE
+#include "los_trace.h"
 static int KernelTraceProcFill(struct SeqBuf *m, void *v)
 {
     (void)v;
diff --git a/kernel/base/core/los_task.c b/kernel/base/core/los_task.c
index 0eadc9db..f7b3b1a9 100644
--- a/kernel/base/core/los_task.c
+++ b/kernel/base/core/los_task.c
@@ -1413,6 +1413,7 @@ STATIC VOID OsExitGroupActiveTaskKilled(LosProcessCB *processCB, LosTaskCB *task
         LOS_MpSchedule(taskCB->currCpu);
     } else
 #endif
+#ifdef LOSCFG_KERNEL_VM
     {
         ret = OsTaskKillUnsafe(taskCB->taskID, SIGKILL);
         if (ret != LOS_OK) {
@@ -1420,6 +1421,7 @@ STATIC VOID OsExitGroupActiveTaskKilled(LosProcessCB *processCB, LosTaskCB *task
                       taskCB->processID, OsCurrTaskGet()->taskID, taskCB->taskID, ret);
         }
     }
+#endif
 
     if (!(taskCB->taskStatus & OS_TASK_FLAG_PTHREAD_JOIN)) {
         taskCB->taskStatus |= OS_TASK_FLAG_PTHREAD_JOIN;
diff --git a/kernel/base/include/los_task_pri.h b/kernel/base/include/los_task_pri.h
index b19f74e8..e2e33c02 100644
--- a/kernel/base/include/los_task_pri.h
+++ b/kernel/base/include/los_task_pri.h
@@ -45,7 +45,9 @@
 #include "los_cpup_pri.h"
 #endif
 
+#ifdef LOSCFG_KERNEL_TRACE
 #include "los_trace.h"
+#endif
 
 #ifdef __cplusplus
 #if __cplusplus
diff --git a/kernel/base/ipc/los_signal.c b/kernel/base/ipc/los_signal.c
index 06fee687..5366e56e 100644
--- a/kernel/base/ipc/los_signal.c
+++ b/kernel/base/ipc/los_signal.c
@@ -101,11 +101,13 @@ STATIC UINT32 OsPendingTaskWake(LosTaskCB *taskCB, INT32 signo)
         case OS_TASK_WAIT_SIGNAL:
             OsSigWaitTaskWake(taskCB, signo);
             break;
+#ifdef LOSCFG_KERNEL_LITEIPC
         case OS_TASK_WAIT_LITEIPC:
             taskCB->ipcStatus &= ~IPC_THREAD_STATUS_PEND;
             OsTaskWakeClearPendMask(taskCB);
             OsSchedTaskWake(taskCB);
             break;
+#endif
         case OS_TASK_WAIT_FUTEX:
             OsFutexNodeDeleteFromFutexHash(&taskCB->futex, TRUE, NULL, NULL);
             OsTaskWakeClearPendMask(taskCB);
diff --git a/kernel/base/vm/los_vm_filemap.c b/kernel/base/vm/los_vm_filemap.c
index 9a6ec2ce..c248d3de 100644
--- a/kernel/base/vm/los_vm_filemap.c
+++ b/kernel/base/vm/los_vm_filemap.c
@@ -41,7 +41,9 @@
 #include "los_vm_fault.h"
 #include "los_process_pri.h"
 #include "los_vm_lock.h"
+#ifdef LOSCFG_FS_VFS
 #include "vnode.h"
+#endif
 
 #ifndef UNUSED
 #define UNUSED(x)          (VOID)x
diff --git a/syscall/los_syscall.h b/syscall/los_syscall.h
index 14995d43..37429b88 100644
--- a/syscall/los_syscall.h
+++ b/syscall/los_syscall.h
@@ -62,7 +62,9 @@
 #endif
 #include <sys/wait.h>
 #include "sys/resource.h"
+#ifdef LOSCFG_FS_VFS
 #include "vnode.h"
+#endif
 
 /* process */
 extern unsigned int SysGetGroupId(void);
diff --git a/tools/build/config/qemu_arm_virt_mini.config b/tools/build/config/debug/mini_qemu_liteos_a_clang.config
similarity index 94%
rename from tools/build/config/qemu_arm_virt_mini.config
rename to tools/build/config/debug/mini_qemu_liteos_a_clang.config
index 1300f151..6670fbb1 100644
--- a/tools/build/config/qemu_arm_virt_mini.config
+++ b/tools/build/config/debug/mini_qemu_liteos_a_clang.config
@@ -2,6 +2,7 @@ LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7=y
 LOSCFG_BOARD_CONFIG_PATH="device/qemu/arm_virt/liteos_a/config/board"
 # LOSCFG_HRTIMER_ENABLE is not set
 # LOSCFG_IRQ_USE_STANDALONE_STACK is not set
+# LOSCFG_BLACKBOX is not set
 # LOSCFG_KERNEL_MMU is not set
 # LOSCFG_KERNEL_EXTKERNEL is not set
 # LOSCFG_BASE_CORE_HILOG is not set
diff --git a/tools/build/config/mini_qemu_liteos_a_clang_release.config b/tools/build/config/mini_qemu_liteos_a_clang_release.config
new file mode 100644
index 00000000..6670fbb1
--- /dev/null
+++ b/tools/build/config/mini_qemu_liteos_a_clang_release.config
@@ -0,0 +1,15 @@
+LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7=y
+LOSCFG_BOARD_CONFIG_PATH="device/qemu/arm_virt/liteos_a/config/board"
+# LOSCFG_HRTIMER_ENABLE is not set
+# LOSCFG_IRQ_USE_STANDALONE_STACK is not set
+# LOSCFG_BLACKBOX is not set
+# LOSCFG_KERNEL_MMU is not set
+# LOSCFG_KERNEL_EXTKERNEL is not set
+# LOSCFG_BASE_CORE_HILOG is not set
+# LOSCFG_LIB_ZLIB is not set
+# LOSCFG_FS_VFS is not set
+# LOSCFG_NET_LWIP_SACK is not set
+# LOSCFG_PLATFORM_ADAPT is not set
+# LOSCFG_ENABLE_MAGICKEY is not set
+# LOSCFG_DRIVERS is not set
+# LOSCFG_SECURITY is not set
diff --git a/tools/build/mk/los_config.mk b/tools/build/mk/los_config.mk
index ad304b7f..93f4e3b2 100644
--- a/tools/build/mk/los_config.mk
+++ b/tools/build/mk/los_config.mk
@@ -198,9 +198,11 @@ ifeq ($(LOSCFG_KERNEL_VDSO), y)
     LITEOS_VDSO_INCLUDE   += -I $(LITEOSTOPDIR)/kernel/extended/vdso/include
 endif
 
+ifeq ($(LOSCFG_KERNEL_TRACE), y)
     LITEOS_BASELIB += -ltrace
     LIB_SUBDIRS       += kernel/extended/trace
     LITEOS_TRACE_INCLUDE   += -I $(LITEOSTOPDIR)/kernel/extended/trace
+endif
 
 ifeq ($(LOSCFG_KERNEL_LITEIPC), y)
     LITEOS_BASELIB     += -lliteipc
-- 
Gitee