成功把文件系统相关的 syscall 弄完到 nintendo switch上
- - -
思路如下
- 用 docker 搭建一个相同的环境 (因为直接在NS系统几乎无法调试)
- 拿 gdb block 掉所有的文件系统相关 syscall, 加载 cpython 初始化流程, 记下来所有涉及到 syscall 的文件和函数
- 把所有文件系统相关函数分别做 wrapper, 拿 wrapper 替换原始的 syscall 函数
- 在 wrapper 里处理 ns 系统相关的东西 ( 挂载 / 卸载 / 文件名路径映射 etc )
- - -
之前采取的在头文件里统一 #define sailing_open open 的方式似乎不可行 ( cpython 结构比较复杂, 宏替换容易替换掉一些奇怪的内容 ). 想了半天用别的路子解决
暂无关于此日志的评论。