From 74bde36e014ff501241bf40dd83653db47a2c8e4 Mon Sep 17 00:00:00 2001
From: guanjinquan <1666320330@qq.com>
Date: Sat, 31 Dec 2022 17:35:39 +0800
Subject: [PATCH] Patch porting gcc v2 (#124)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* 更改编译器的Include路径,使得include时不需要加``前缀
* 修改include路径
Co-authored-by: longjin
---
.vscode/c_cpp_properties.json | 7 +++---
.vscode/settings.json | 5 +++--
Makefile | 2 ++
user/Makefile | 3 +--
user/apps/about/about.c | 10 ++++-----
user/apps/shell/cmd.c | 22 +++++++++----------
user/apps/shell/cmd_help.c | 5 +++--
user/apps/shell/cmd_test.c | 8 +++----
user/apps/shell/shell.c | 16 +++++++-------
user/apps/test_signal/main.c | 13 +++++------
user/libs/libKeyboard/keyboard.c | 3 ++-
user/libs/libc/Makefile | 2 +-
user/libs/libc/src/ctype.c | 2 +-
user/libs/libc/src/dirent.c | 14 ++++++------
user/libs/libc/src/errno.c | 2 +-
user/libs/libc/src/fcntl.c | 2 +-
user/libs/libc/src/{ => include}/__libc__.h | 0
user/libs/libc/src/{ => include}/ctype.h | 4 ++--
user/libs/libc/src/{ => include}/dirent.h | 2 +-
user/libs/libc/src/{ => include}/errno.h | 0
user/libs/libc/src/{ => include}/fcntl.h | 0
user/libs/libc/src/{math => include}/libm.h | 2 +-
user/libs/libc/src/{ => include}/math.h | 2 +-
user/libs/libc/src/{ => include}/printf.h | 0
user/libs/libc/src/include/signal.h | 2 +-
user/libs/libc/src/{ => include}/stddef.h | 2 +-
user/libs/libc/src/{ => include}/stdio.h | 2 +-
user/libs/libc/src/{ => include}/stdlib.h | 2 +-
user/libs/libc/src/{ => include}/string.h | 2 +-
user/libs/libc/src/{ => include}/sys/stat.h | 2 +-
user/libs/libc/src/{ => include}/sys/types.h | 2 +-
user/libs/libc/src/{ => include}/sys/wait.h | 2 +-
user/libs/libc/src/{ => include}/time.h | 2 +-
user/libs/libc/src/{ => include}/unistd.h | 4 ++--
user/libs/libc/src/malloc.c | 10 ++++-----
user/libs/libc/src/math/fabs.c | 7 +++---
user/libs/libc/src/math/pow.c | 4 ++--
user/libs/libc/src/math/round.c | 2 +-
user/libs/libc/src/printf.c | 10 ++++-----
user/libs/libc/src/signal.c | 6 ++---
user/libs/libc/src/stdlib.c | 8 +++----
user/libs/libc/src/string.c | 2 +-
user/libs/libc/src/sys/stat.c | 2 +-
user/libs/libc/src/sys/wait.c | 2 +-
user/libs/libc/src/sysdeps/x86_64/elf/start.c | 4 ++--
user/libs/libc/src/time.c | 6 ++---
user/libs/libc/src/unistd.c | 12 +++++-----
user/libs/libsystem/syscall.c | 4 ++--
user/libs/libsystem/syscall.h | 2 +-
49 files changed, 117 insertions(+), 112 deletions(-)
rename user/libs/libc/src/{ => include}/__libc__.h (100%)
rename user/libs/libc/src/{ => include}/ctype.h (88%)
rename user/libs/libc/src/{ => include}/dirent.h (97%)
rename user/libs/libc/src/{ => include}/errno.h (100%)
rename user/libs/libc/src/{ => include}/fcntl.h (100%)
rename user/libs/libc/src/{math => include}/libm.h (98%)
rename user/libs/libc/src/{ => include}/math.h (91%)
rename user/libs/libc/src/{ => include}/printf.h (100%)
rename user/libs/libc/src/{ => include}/stddef.h (86%)
rename user/libs/libc/src/{ => include}/stdio.h (96%)
rename user/libs/libc/src/{ => include}/stdlib.h (95%)
rename user/libs/libc/src/{ => include}/string.h (98%)
rename user/libs/libc/src/{ => include}/sys/stat.h (96%)
rename user/libs/libc/src/{ => include}/sys/types.h (97%)
rename user/libs/libc/src/{ => include}/sys/wait.h (94%)
rename user/libs/libc/src/{ => include}/time.h (97%)
rename user/libs/libc/src/{ => include}/unistd.h (97%)
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 2de76a96..5bc89674 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -1,15 +1,16 @@
{
"configurations": [
{
- "name": "Linux",
+ "name": "DragonOS",
"includePath": [
- "${workspaceFolder}/**"
+ "${workspaceFolder}/**",
+ "${workspaceFolder}/user/libs/libc/src/include"
],
"defines": [
"__x86_64__",
"DEBUG"
],
- "compilerPath": "/usr/bin/gcc",
+ "compilerPath": "~/opt/dragonos-gcc/gcc-x86_64-unknown-none/bin/x86_64-elf-gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
diff --git a/.vscode/settings.json b/.vscode/settings.json
index bb3d5d1d..357ff2fd 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -169,8 +169,9 @@
"stdint-gcc.h": "c",
"acpi.h": "c",
"assert.h": "c",
- "sys_version.h": "c"
-},
+ "sys_version.h": "c",
+ "cmd.h": "c"
+ },
"C_Cpp.errorSquiggles": "Enabled",
"esbonio.sphinx.confDir": "",
"rust-analyzer.cargo.target": "x86_64-unknown-none",
diff --git a/Makefile b/Makefile
index 2cb010d0..5a879bfb 100644
--- a/Makefile
+++ b/Makefile
@@ -47,12 +47,14 @@ all: kernel user
.PHONY: kernel
kernel:
mkdir -p bin/kernel/
+ @if [ -z $$DragonOS_GCC ]; then echo "\033[31m [错误]尚未安装DragonOS交叉编译器, 请使用tools文件夹下的build_gcc_toolchain.sh脚本安装 \033[0m"; exit 1; fi
$(MAKE) -C ./kernel all || (sh -c "echo 内核编译失败" && exit 1)
.PHONY: user
user:
mkdir -p bin/user/
mkdir -p bin/tmp/user
+ @if [ -z $$DragonOS_GCC ]; then echo "\033[31m [错误]尚未安装DragonOS交叉编译器, 请使用tools文件夹下的build_gcc_toolchain.sh脚本安装 \033[0m"; exit 1; fi
$(MAKE) -C ./user all || (sh -c "echo 用户程序编译失败" && exit 1)
.PHONY: clean
diff --git a/user/Makefile b/user/Makefile
index 56227b83..26c4b1e3 100644
--- a/user/Makefile
+++ b/user/Makefile
@@ -9,7 +9,7 @@ GARBAGE := $(foreach DIR,$(DIRS),$(addprefix $(DIR)/,$(GARBAGE_PATTERNS)))
tmp_output_dir=$(ROOT_PATH)/bin/tmp/user
output_dir=$(ROOT_PATH)/bin/user
-CFLAGS := $(GLOBAL_CFLAGS) -I $(shell pwd)/libs
+CFLAGS := $(GLOBAL_CFLAGS) -I $(shell pwd)/libs -I $(shell pwd)/libs/libc/src/include
current_CFLAGS := $(CFLAGS)
ECHO:
@@ -22,7 +22,6 @@ $(user_sub_dirs): ECHO sys_api_lib
app: $(user_sub_dirs)
all: app
- @if [ -z $$DragonOS_GCC ]; then echo "\033[31m [错误]尚未安装DragonOS交叉编译器, 请使用tools文件夹下的build_gcc_toolchain.sh脚本安装 \033[0m"; exit 1; fi
$(shell if [ ! -e $(tmp_output_dir) ];then mkdir -p $(tmp_output_dir); fi)
$(shell if [ ! -e $(output_dir) ];then mkdir -p $(output_dir); fi)
diff --git a/user/apps/about/about.c b/user/apps/about/about.c
index f1771aa9..f25f06fa 100644
--- a/user/apps/about/about.c
+++ b/user/apps/about/about.c
@@ -1,9 +1,9 @@
#include "sys_version.h" // 这是系统的版本头文件,在编译过程中自动生成
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
void print_ascii_logo()
{
diff --git a/user/apps/shell/cmd.c b/user/apps/shell/cmd.c
index 2485a8d2..6f182e5e 100644
--- a/user/apps/shell/cmd.c
+++ b/user/apps/shell/cmd.c
@@ -1,17 +1,17 @@
#include "cmd.h"
#include "cmd_help.h"
#include "cmd_test.h"
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
#include
// 当前工作目录(在main_loop中初始化)
diff --git a/user/apps/shell/cmd_help.c b/user/apps/shell/cmd_help.c
index ea2dd8e6..baa1ec10 100644
--- a/user/apps/shell/cmd_help.c
+++ b/user/apps/shell/cmd_help.c
@@ -1,6 +1,7 @@
#include "cmd_help.h"
-#include
-#include
+#include
+#include
+
struct help_table_item_t
{
void (*func)();
diff --git a/user/apps/shell/cmd_test.c b/user/apps/shell/cmd_test.c
index f8c7c581..ce46552c 100644
--- a/user/apps/shell/cmd_test.c
+++ b/user/apps/shell/cmd_test.c
@@ -1,8 +1,8 @@
#include "cmd_test.h"
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
int shell_pipe_test(int argc, char **argv)
{
diff --git a/user/apps/shell/shell.c b/user/apps/shell/shell.c
index 61a43f11..6a0c6a05 100644
--- a/user/apps/shell/shell.c
+++ b/user/apps/shell/shell.c
@@ -1,13 +1,13 @@
#include "cmd.h"
#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
#define pause_cpu() asm volatile("pause\n\t");
#define MEM_HISTORY 1024
diff --git a/user/apps/test_signal/main.c b/user/apps/test_signal/main.c
index 7ed6a3af..23707488 100644
--- a/user/apps/test_signal/main.c
+++ b/user/apps/test_signal/main.c
@@ -17,13 +17,12 @@
*
*/
-#include
-#include
-#include
-#include
-#include
-
-#include
+#include
+#include
+#include
+#include
+#include
+#include
bool handle_ok = false;
diff --git a/user/libs/libKeyboard/keyboard.c b/user/libs/libKeyboard/keyboard.c
index 210b3168..edf3a49a 100644
--- a/user/libs/libKeyboard/keyboard.c
+++ b/user/libs/libKeyboard/keyboard.c
@@ -1,5 +1,6 @@
#include "keyboard.h"
-#include
+#include
+
// 功能键标志变量
static bool shift_l = 0, shift_r = 0, ctrl_l = 0, ctrl_r = 0, alt_l = 0, alt_r = 0;
static bool gui_l = 0, gui_r = 0, apps = 0, insert = 0, home = 0, pgup = 0, del = 0, end = 0, pgdn = 0, arrow_u = 0, arrow_l = 0, arrow_d = 0, arrow_r = 0;
diff --git a/user/libs/libc/Makefile b/user/libs/libc/Makefile
index eb4e4027..735c2bf7 100644
--- a/user/libs/libc/Makefile
+++ b/user/libs/libc/Makefile
@@ -1,6 +1,6 @@
all:
- $(MAKE) -C src all
+ $(MAKE) CFLAGS="$(CFLAGS)" -C src all
clean:
rm -f Cargo.lock
diff --git a/user/libs/libc/src/ctype.c b/user/libs/libc/src/ctype.c
index dcb1ad07..25fdfd57 100644
--- a/user/libs/libc/src/ctype.c
+++ b/user/libs/libc/src/ctype.c
@@ -1,4 +1,4 @@
-#include
+#include
int isprint(int c)
diff --git a/user/libs/libc/src/dirent.c b/user/libs/libc/src/dirent.c
index 2450cbd7..38d28dd3 100644
--- a/user/libs/libc/src/dirent.c
+++ b/user/libs/libc/src/dirent.c
@@ -1,10 +1,10 @@
-#include "dirent.h"
-#include "unistd.h"
-#include "stdio.h"
-#include "fcntl.h"
-#include "stddef.h"
-#include "stdlib.h"
-#include "string.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
#include
/**
diff --git a/user/libs/libc/src/errno.c b/user/libs/libc/src/errno.c
index 0efabf5d..3dd479f2 100644
--- a/user/libs/libc/src/errno.c
+++ b/user/libs/libc/src/errno.c
@@ -1,2 +1,2 @@
-#include "errno.h"
+#include
int errno = 0;
\ No newline at end of file
diff --git a/user/libs/libc/src/fcntl.c b/user/libs/libc/src/fcntl.c
index 3167899b..0784bb88 100644
--- a/user/libs/libc/src/fcntl.c
+++ b/user/libs/libc/src/fcntl.c
@@ -1,4 +1,4 @@
-#include
+#include
#include
/**
diff --git a/user/libs/libc/src/__libc__.h b/user/libs/libc/src/include/__libc__.h
similarity index 100%
rename from user/libs/libc/src/__libc__.h
rename to user/libs/libc/src/include/__libc__.h
diff --git a/user/libs/libc/src/ctype.h b/user/libs/libc/src/include/ctype.h
similarity index 88%
rename from user/libs/libc/src/ctype.h
rename to user/libs/libc/src/include/ctype.h
index d4448f46..41f9fd04 100644
--- a/user/libs/libc/src/ctype.h
+++ b/user/libs/libc/src/include/ctype.h
@@ -1,10 +1,10 @@
#pragma once
-#include
+#include
#pragma once
-#include
+#include <__libc__.h>
int isalnum(int c);
diff --git a/user/libs/libc/src/dirent.h b/user/libs/libc/src/include/dirent.h
similarity index 97%
rename from user/libs/libc/src/dirent.h
rename to user/libs/libc/src/include/dirent.h
index 89b930c3..7ce99b7f 100644
--- a/user/libs/libc/src/dirent.h
+++ b/user/libs/libc/src/include/dirent.h
@@ -1,5 +1,5 @@
#pragma once
-#include
+#include
/**
diff --git a/user/libs/libc/src/errno.h b/user/libs/libc/src/include/errno.h
similarity index 100%
rename from user/libs/libc/src/errno.h
rename to user/libs/libc/src/include/errno.h
diff --git a/user/libs/libc/src/fcntl.h b/user/libs/libc/src/include/fcntl.h
similarity index 100%
rename from user/libs/libc/src/fcntl.h
rename to user/libs/libc/src/include/fcntl.h
diff --git a/user/libs/libc/src/math/libm.h b/user/libs/libc/src/include/libm.h
similarity index 98%
rename from user/libs/libc/src/math/libm.h
rename to user/libs/libc/src/include/libm.h
index 99defb62..399d6eb6 100644
--- a/user/libs/libc/src/math/libm.h
+++ b/user/libs/libc/src/include/libm.h
@@ -1,5 +1,5 @@
#pragma once
-#include
+#include
// ===== 描述long double 的数据比特结构
#if __LDBL_MANT_DIG__ == 53 && __LDBL_MAX_EXP__ == 1024
diff --git a/user/libs/libc/src/math.h b/user/libs/libc/src/include/math.h
similarity index 91%
rename from user/libs/libc/src/math.h
rename to user/libs/libc/src/include/math.h
index e7d2a9df..b406144f 100644
--- a/user/libs/libc/src/math.h
+++ b/user/libs/libc/src/include/math.h
@@ -1,5 +1,5 @@
#pragma once
-#include "stddef.h"
+#include
double fabs(double x);
float fabsf(float x);
diff --git a/user/libs/libc/src/printf.h b/user/libs/libc/src/include/printf.h
similarity index 100%
rename from user/libs/libc/src/printf.h
rename to user/libs/libc/src/include/printf.h
diff --git a/user/libs/libc/src/include/signal.h b/user/libs/libc/src/include/signal.h
index d6ea1e8d..955f56f4 100644
--- a/user/libs/libc/src/include/signal.h
+++ b/user/libs/libc/src/include/signal.h
@@ -1,5 +1,5 @@
#pragma once
-#include
+#include
#define SIGHUP 1
#define SIGINT 2
diff --git a/user/libs/libc/src/stddef.h b/user/libs/libc/src/include/stddef.h
similarity index 86%
rename from user/libs/libc/src/stddef.h
rename to user/libs/libc/src/include/stddef.h
index f79d9261..abd2f3c7 100644
--- a/user/libs/libc/src/stddef.h
+++ b/user/libs/libc/src/include/stddef.h
@@ -1,6 +1,6 @@
#pragma once
-#include
+#include
#ifdef __cplusplus
#define NULL 0
diff --git a/user/libs/libc/src/stdio.h b/user/libs/libc/src/include/stdio.h
similarity index 96%
rename from user/libs/libc/src/stdio.h
rename to user/libs/libc/src/include/stdio.h
index 5c5fb859..f7ffd450 100644
--- a/user/libs/libc/src/stdio.h
+++ b/user/libs/libc/src/include/stdio.h
@@ -1,6 +1,6 @@
#pragma once
-#include
+#include
#include
// 字体颜色的宏定义
diff --git a/user/libs/libc/src/stdlib.h b/user/libs/libc/src/include/stdlib.h
similarity index 95%
rename from user/libs/libc/src/stdlib.h
rename to user/libs/libc/src/include/stdlib.h
index 18df39e3..d9c38797 100644
--- a/user/libs/libc/src/stdlib.h
+++ b/user/libs/libc/src/include/stdlib.h
@@ -1,5 +1,5 @@
#pragma once
-#include
+#include
/**
* @brief 获取一块堆内存
diff --git a/user/libs/libc/src/string.h b/user/libs/libc/src/include/string.h
similarity index 98%
rename from user/libs/libc/src/string.h
rename to user/libs/libc/src/include/string.h
index cebec1d8..edc8d0ae 100644
--- a/user/libs/libc/src/string.h
+++ b/user/libs/libc/src/include/string.h
@@ -1,6 +1,6 @@
#pragma once
-#include
+#include
void *memset(void *dst, unsigned char C, uint64_t size);
/**
diff --git a/user/libs/libc/src/sys/stat.h b/user/libs/libc/src/include/sys/stat.h
similarity index 96%
rename from user/libs/libc/src/sys/stat.h
rename to user/libs/libc/src/include/sys/stat.h
index 1e9176be..7af491c3 100644
--- a/user/libs/libc/src/sys/stat.h
+++ b/user/libs/libc/src/include/sys/stat.h
@@ -1,5 +1,5 @@
#pragma once
-#include
+#include
/**
* @brief 系统内存信息结构体(单位:字节)
diff --git a/user/libs/libc/src/sys/types.h b/user/libs/libc/src/include/sys/types.h
similarity index 97%
rename from user/libs/libc/src/sys/types.h
rename to user/libs/libc/src/include/sys/types.h
index e91c47e4..599deb64 100644
--- a/user/libs/libc/src/sys/types.h
+++ b/user/libs/libc/src/include/sys/types.h
@@ -1,6 +1,6 @@
#pragma once
-#include
+#include
#include
typedef unsigned char u_char;
diff --git a/user/libs/libc/src/sys/wait.h b/user/libs/libc/src/include/sys/wait.h
similarity index 94%
rename from user/libs/libc/src/sys/wait.h
rename to user/libs/libc/src/include/sys/wait.h
index 7a5c3615..737441b2 100644
--- a/user/libs/libc/src/sys/wait.h
+++ b/user/libs/libc/src/include/sys/wait.h
@@ -1,6 +1,6 @@
#pragma once
-#include "types.h"
+#include
/**
* @brief 等待所有子进程退出
diff --git a/user/libs/libc/src/time.h b/user/libs/libc/src/include/time.h
similarity index 97%
rename from user/libs/libc/src/time.h
rename to user/libs/libc/src/include/time.h
index e0e17e20..170a98c5 100644
--- a/user/libs/libc/src/time.h
+++ b/user/libs/libc/src/include/time.h
@@ -1,6 +1,6 @@
#pragma once
-#include "stddef.h"
+#include
// 操作系统定义时间以ns为单位
#define CLOCKS_PER_SEC 1000000
diff --git a/user/libs/libc/src/unistd.h b/user/libs/libc/src/include/unistd.h
similarity index 97%
rename from user/libs/libc/src/unistd.h
rename to user/libs/libc/src/include/unistd.h
index c0b22685..29bcc89e 100644
--- a/user/libs/libc/src/unistd.h
+++ b/user/libs/libc/src/include/unistd.h
@@ -1,6 +1,6 @@
#pragma once
-#include
-#include
+#include
+#include
/**
* @brief 关闭文件接口
diff --git a/user/libs/libc/src/malloc.c b/user/libs/libc/src/malloc.c
index 08956b84..7a18d9cf 100644
--- a/user/libs/libc/src/malloc.c
+++ b/user/libs/libc/src/malloc.c
@@ -1,9 +1,9 @@
-#include
+#include
#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
#define PAGE_4K_SHIFT 12
#define PAGE_2M_SHIFT 21
diff --git a/user/libs/libc/src/math/fabs.c b/user/libs/libc/src/math/fabs.c
index 6e725953..53b71306 100644
--- a/user/libs/libc/src/math/fabs.c
+++ b/user/libs/libc/src/math/fabs.c
@@ -1,6 +1,7 @@
-#include
-#include
-#include "libm.h"
+#include
+#include
+#include
+
double fabs(double x)
{
union
diff --git a/user/libs/libc/src/math/pow.c b/user/libs/libc/src/math/pow.c
index 5af6ae13..b42d3d22 100644
--- a/user/libs/libc/src/math/pow.c
+++ b/user/libs/libc/src/math/pow.c
@@ -1,5 +1,5 @@
-#include
-#include
+#include
+#include
int64_t pow(int64_t x, int y)
{
diff --git a/user/libs/libc/src/math/round.c b/user/libs/libc/src/math/round.c
index 18867e02..2642b6ee 100644
--- a/user/libs/libc/src/math/round.c
+++ b/user/libs/libc/src/math/round.c
@@ -1,4 +1,4 @@
-#include "libm.h"
+#include
#if __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 1
#define EPS __DBL_EPSILON__
diff --git a/user/libs/libc/src/printf.c b/user/libs/libc/src/printf.c
index 306416c3..3c8e498b 100644
--- a/user/libs/libc/src/printf.c
+++ b/user/libs/libc/src/printf.c
@@ -1,9 +1,9 @@
-#include "printf.h"
+#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
#include
static char *write_num(char *str, uint64_t num, int base, int field_width, int precision, int flags);
diff --git a/user/libs/libc/src/signal.c b/user/libs/libc/src/signal.c
index 379e4655..b87f51d0 100644
--- a/user/libs/libc/src/signal.c
+++ b/user/libs/libc/src/signal.c
@@ -1,6 +1,6 @@
-#include
-#include
-#include
+#include
+#include
+#include
#include
#pragma GCC push_options
diff --git a/user/libs/libc/src/stdlib.c b/user/libs/libc/src/stdlib.c
index 44b5a732..d1e7955c 100644
--- a/user/libs/libc/src/stdlib.c
+++ b/user/libs/libc/src/stdlib.c
@@ -1,8 +1,8 @@
-#include
-#include
-#include
+#include
+#include
+#include
#include
-#include
+#include
int abs(int i)
{
diff --git a/user/libs/libc/src/string.c b/user/libs/libc/src/string.c
index 48835816..69698054 100644
--- a/user/libs/libc/src/string.c
+++ b/user/libs/libc/src/string.c
@@ -1,4 +1,4 @@
-#include "string.h"
+#include
size_t strlen(const char *s)
{
diff --git a/user/libs/libc/src/sys/stat.c b/user/libs/libc/src/sys/stat.c
index b1e5a0b8..90c08468 100644
--- a/user/libs/libc/src/sys/stat.c
+++ b/user/libs/libc/src/sys/stat.c
@@ -1,4 +1,4 @@
-#include "stat.h"
+#include
#include
int mkdir(const char *path, mode_t mode)
diff --git a/user/libs/libc/src/sys/wait.c b/user/libs/libc/src/sys/wait.c
index 07a5c8c9..edb78ceb 100644
--- a/user/libs/libc/src/sys/wait.c
+++ b/user/libs/libc/src/sys/wait.c
@@ -1,4 +1,4 @@
-#include "wait.h"
+#include
#include
/**
diff --git a/user/libs/libc/src/sysdeps/x86_64/elf/start.c b/user/libs/libc/src/sysdeps/x86_64/elf/start.c
index 14e9b8c2..f98a6e03 100644
--- a/user/libs/libc/src/sysdeps/x86_64/elf/start.c
+++ b/user/libs/libc/src/sysdeps/x86_64/elf/start.c
@@ -1,6 +1,6 @@
-#include
-#include
+#include
+#include
extern int main(int, char **);
diff --git a/user/libs/libc/src/time.c b/user/libs/libc/src/time.c
index f3531600..fbde9d9c 100644
--- a/user/libs/libc/src/time.c
+++ b/user/libs/libc/src/time.c
@@ -1,6 +1,6 @@
-#include "time.h"
-#include "errno.h"
-#include "unistd.h"
+#include
+#include
+#include
#include
/**
diff --git a/user/libs/libc/src/unistd.c b/user/libs/libc/src/unistd.c
index 58d98b68..f385365d 100644
--- a/user/libs/libc/src/unistd.c
+++ b/user/libs/libc/src/unistd.c
@@ -1,9 +1,9 @@
-#include
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
+#include
#include
/**
diff --git a/user/libs/libsystem/syscall.c b/user/libs/libsystem/syscall.c
index 21ef159a..f215b8ec 100644
--- a/user/libs/libsystem/syscall.c
+++ b/user/libs/libsystem/syscall.c
@@ -1,6 +1,6 @@
#include "syscall.h"
-#include
-#include
+#include
+#include
long syscall_invoke(uint64_t syscall_id, uint64_t arg0, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6, uint64_t arg7)
{
uint64_t __err_code;
diff --git a/user/libs/libsystem/syscall.h b/user/libs/libsystem/syscall.h
index f4f0f8d9..e553d23f 100644
--- a/user/libs/libsystem/syscall.h
+++ b/user/libs/libsystem/syscall.h
@@ -1,6 +1,6 @@
#pragma once
-#include
+#include
// 系统调用号
#define SYS_NOT_EXISTS 0