fix(link): 补 CallGenLib._promote_clib_call_args 定义;BuildPipeline PYI_BUF_SIZE 改 t.CDefine 宏
CallGenMixin.translate_call 调用 self.Gen.CallGenLib._promote_clib_call_args(B3 裸名 C 库函数第三参 i64 提升),但 CallGenLib 缺该方法 → ld.lld undefined symbol。按 TPVAppBK 旧语法移植完整方法。 PYI_BUF_SIZE 是跨模块共享裸全局(@PYI_BUF_SIZE),Phase1/__init__ 与 BuildPipeline 两模块各定义强符号 → duplicate symbol。BuildPipeline 侧改用 t.CDefine 宏(同 SRC_BUF_SIZE),不再产生全局。
This commit is contained in:
1 parent
8dda9f7c2d
commit
50d53d3ce6
2 files changed
+77
-1
No files matched your search
@@ -50,7 +50,9 @@ _phase2_bat_init: int = 0
|
||||
SRC_BUF_SIZE: t.CDefine = 1048576 # 2^20 = 1MB
|
||||
|
||||
# .vpi 存根缓冲区大小(256KB,与 Phase1 一致)
|
||||
PYI_BUF_SIZE: t.CSizeT = 262144
|
||||
# 用 t.CDefine 宏而非模块级全局:模块级全局是跨模块共享裸符号(@PYI_BUF_SIZE),
|
||||
# Phase1/__init__.vp 已定义同名全局 → 两模块各定义强符号 → ld.lld duplicate symbol。
|
||||
PYI_BUF_SIZE: t.CDefine = 262144
|
||||
|
||||
# ============================================================
|
||||
# TranslateFileGetTrans - 翻译单个文件,返回 Translator 对象
|
||||
|
||||
Reference in new issue
Block a user