ChangeLog
ICS2023
nemu
- 修复译码非法指令时的UB (补丁)
- 修复C++报告的
invalid suffix on literal
警告 (补丁) - 重新添加mips32 (补丁)
- 修复在llvm15上库函数路径变化导致的编译错误 (补丁)
- 修复在macOS上按键宏定义与系统库冲突的问题 (补丁)
- 将difftest动态库的符号默认设置为
visibility=hidden
, 提升动态库内部符号引用的性能 (补丁) - 更新spike版本, 修复macOS上因llvm版本较新导致的spike编译错误 (补丁)
- 使用c++17编译spike (补丁)
- 修复
gen-expr
中fscanf()
未检查返回值导致的编译报错 (补丁) - 通过llvm反汇编时关闭伪指令 (补丁)
- 修复Gentoo Linux中kconfig链接报错的问题 (补丁)
- 合并riscv32和riscv64 (补丁)
- 修复
nemu/src/device/keyboard.c
中宏可能与库的头文件中定义重名的问题 - 修复SDL在Wayland环境下窗口不弹出的问题 (补丁)
abstract-machine
- 去除ld 2.39引入的关于可执行栈和可读可写可执行的可加载段的警告 (补丁和 补丁)
- 使用riscv64-linux-gnu-gcc 11将CSR指令独立成zicsr扩展, 修复相关编译错误 (补丁)
- 在mips32的
start.S
中为异常入口0x80000180
预留若干位置, 用于设置异常入口处的执行 (补丁) - 修复sdl2-2.0.22-1后窗口有概率不显示的问题 (补丁)
- 支持将
LDFLAGS
传递给native的g++ (补丁) - 修复native的
platform.c
链接到RT-Thread中ftruncate()
的问题 (补丁) - 修复macOS上默认调用llvm-ar的问题 (补丁)
- 将
scripts/isa/
目录下RISC-V相关的.mk
文件合并成riscv.mk
(补丁) - 将
am/include/arch/
目录下RISC-V相关的.h
文件合并成riscv.h
(补丁) - 将
riscv64-npc
改为riscv32e-npc
(补丁)- 为
riscv32e-npc
添加libgcc的若干支持, 用软件模拟乘除指令 (补丁)
- 为
- 添加用于生成logisim镜像文件的python脚本 (补丁)
- 修复
riscv.h
中通用寄存器数量在rve中不正确的问题 (补丁) - 修复
riscv32-nemu
中错误采用rve ABI的问题 (补丁)
am-kernels
- 修复native在glibc 2.39上运行thread-os时发生栈溢出的问题 (补丁)
- 新增ALU test, bf等应用, 移植自movfuscator项目
navy-apps
- 修复native在glibc 2.39上段错误的问题 (补丁)
- 修复
LD_PRELOAD
影响gdb的问题 (补丁) - 将CRT中
_start
的定义集中在一个文件中, 方便使用__riscv
宏进行判断 (补丁) - 新增riscv32e (补丁)
- 修复
README.md
中的错误 (补丁) - 添加缺失的文件
scripts/riscv/common.mk
(补丁)
ICS2022
nemu
- 在menuconfig中选中
Enable Debug
时默认采用-Og
编译 - 去掉RTL中间表示, 用"抄手册"宏重构译码部分 (补丁)
- 添加NEMU作为REF的API(一生一芯中使用) (补丁)
- 使用ssh从github上克隆spike (补丁)
- 修复因
optind
重定位错误导致spike触发段错误 (补丁) - 去掉调用
dlopen()
时不使用的RTLD_DEEPBIND
(补丁) - 交换itrace中输出的字节序, 使其符合RISC-V的阅读习惯 (补丁)
- 修复pmem右边界的计算 (补丁)
- 修复
uint64_t
的格式说明符 (补丁) - 添加MMIO区间重叠的检查 (补丁)
abstract-machine
- 使用标准调试指令实现
nemu_trap
(补丁) - 默认使用通常模式(而不是批处理模式)来运行NEMU (补丁)
- 修复ubuntu 21.10下因glibc中的
SIGSTKSZ
展开为函数调用而导致native编译出错的问题 (补丁)- 放宽
SIGSTKSZ
的检查条件 (补丁)
- 放宽
am-kernels
- 修复cpu-tests不支持gdb目标的问题 (补丁)
nanos-lite
- 修复
sizeof(struct timeval)
在glibc和newlib中不一致的问题 (补丁)
navy-apps
- 使用ssh从github上克隆子仓库 (补丁)