跳转至

未完待续

未完成任务列表

当前任务

  • 像GDB一样支持加载符号表。
  • 一些符号将被优化掉,如何处理?
  • 支持 Qemu。
  • 支持多线程,并线程安全,使用ptrace(2)
  • 添加已经载入补丁的符号表,用以支持互相依赖的补丁。
  • 支持未初始化的变量,见.bss SHT_NOBITS
  • ULPatch VMA 最好不使用文件映射。

未来规划

  • 支持静态编译的可执行文件。
  • 支持签名和检测。
  • 支持无符号表(strip)的可执行文件,符号表。
  • 支持loongarch64
  • 支持 GUI,可以用 GTK/Qt 实现。
  • 像内核module_init,module_exit一样支持执行初始化和退出函数。
  • 或许我们应该使用 dlopen/dlsym 实现热补丁的插入。

不打算支持 (理想很丰满、现实很骨感)

  • 匿名 VMA 命名,使用prctl(2)(CONFIG_ANON_VMA_NAME)设置 VMA 名字,我尝试提交了补丁,但是**David Hildenbrand**不喜欢,参见 LKML Link