mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-17 12:47:19 +00:00
* 初步完成对 signal_types 和 部分signal代码的初始化 * 重构了一部分架构相关代码进入 arch 中 * 基本修改完成,编译通过,后续补上系统调用 * signal基本完成,能实现 Sigaction 系统调用 * 增加了一组枚举抽象 * 进一步重构了一部分C风格的代码 * 继续重构了一部分C风格代码 * 继续完善了一部分逻辑 * 修改了部分代码逻辑 * 补充了 fork 中复制信号信息的逻辑 * 修复了 kallsysms 未转义引号的问题 * 修复了无法跳转到 sigreturn 的bug * 调通了 signal * 实现了 signal 架构抽象层的 trait * 为信号提供了默认处理函数 * 基本完成了 signal 的大体逻辑 * 修复了 Sigreturn 的一个小错误,格式化 * 修复了一个编译器漏报错误 * 删除了多余的代码 * 修改测试程序为链接 relibc * 修复了信号处理过程中浮点寄存器错误保存的问题 * 修复了一个结构体错误引起的无法在relibc下正确运行的错误 * 修复了链接 relibc 时无法正常从信号处理返回的 bug * 修复了 signal 处理流程中 rsp 指针错误导致的浮点运算触发GP * 修复了一个死锁问题,解决了默认处理函数无法进入调度导致的bug * 修复了一些错误 * 修改了 relibc 依赖版本号 * 删除了多余的 imports * 删除一些debug日志 * 删除内核 signal.h 文件 * 删除一个依赖项 * 删除了 binding 相关依赖项
26 lines
822 B
Makefile
26 lines
822 B
Makefile
CC=$(DragonOS_GCC)/x86_64-elf-gcc
|
||
LD=ld
|
||
OBJCOPY=objcopy
|
||
# 修改这里,把它改为你的relibc的sysroot路径
|
||
RELIBC_OPT=$(DADK_BUILD_CACHE_DIR_RELIBC_0_1_0)
|
||
CFLAGS=-I $(RELIBC_OPT)/include -D__dragonos__
|
||
|
||
tmp_output_dir=$(ROOT_PATH)/bin/tmp/user
|
||
output_dir=$(DADK_BUILD_CACHE_DIR_TEST_UART_0_1_0)
|
||
|
||
LIBC_OBJS:=$(shell find $(RELIBC_OPT)/lib -name "*.o" | sort )
|
||
LIBC_OBJS+=$(RELIBC_OPT)/lib/libc.a
|
||
|
||
all: main.o
|
||
mkdir -p $(tmp_output_dir)
|
||
|
||
$(LD) -b elf64-x86-64 -z muldefs -o $(tmp_output_dir)/test_uart $(shell find . -name "*.o") $(LIBC_OBJS) -T link.lds
|
||
|
||
$(OBJCOPY) -I elf64-x86-64 -R ".eh_frame" -R ".comment" -O elf64-x86-64 $(tmp_output_dir)/test_uart $(output_dir)/test_uart.elf
|
||
mv $(output_dir)/test_uart.elf $(output_dir)/test_uart
|
||
main.o: main.c
|
||
$(CC) $(CFLAGS) -c main.c -o main.o
|
||
|
||
clean:
|
||
rm -f *.o
|