TermiNexus
56a4b5c818
fix(tpc): stub 加载器解析全局变量声明——跨模块全局变量不再静默丢失
- 根因:_LoadDeclarationsFromStubLlvm 只解析 struct/declare,忽略全局变量声明行,TPC 编译 TPV 时跨模块全局变量(StubMerger._sha1_store_count 等)从未嵌入 Gen.module.globals
- 后果:_lookup_module_global 恒 None -> return 静默跳过 ret(HandlesReturn 的 if Val 分支)、跨模块赋值静默丢失
- 修复:逐行循环加分支解析 16hex 前缀的 external global 声明(剥离 zeroinitializer 与 align 尾部修饰),用 _parse_llvm_type 解析类型后嵌入 external GlobalVariable;.str. 内部常量与 @main 等非 16hex 前缀跳过
- 诊断脚本验证 4 种真实 stub.ll 格式(struct 指针/数组/zeroinitializer/vtable 结构体)全部解析成功
2026-08-22 04:21:04 +08:00
..
2026-08-21 12:36:00 +08:00
2026-08-21 12:36:00 +08:00
2026-08-17 09:36:38 +08:00
2026-08-20 07:53:33 +08:00
2026-08-21 14:46:21 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-19 22:44:15 +08:00
2026-08-17 09:36:38 +08:00
2026-08-21 12:36:00 +08:00
2026-08-17 09:36:38 +08:00
2026-08-20 15:35:21 +08:00
2026-08-20 10:28:29 +08:00
2026-08-21 14:46:21 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 21:25:25 +08:00
2026-08-17 09:36:38 +08:00
2026-08-22 04:13:43 +08:00
2026-08-17 09:36:38 +08:00
2026-08-22 04:21:04 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-19 21:14:13 +08:00
2026-08-17 09:36:38 +08:00
2026-08-17 09:36:38 +08:00
2026-08-03 02:00:49 +08:00
2026-08-17 09:36:38 +08:00