fix(extern): sig_files 不再按 App sha1_map 过滤
sha1_map 只含 App 源文件,按它过滤会丢弃 include 模块的 .vpi,导致 ReadProcessMemory/StackWalk64 等跨模块 extern 无法识别为裸名。
This commit is contained in:
1 parent
d312d97bca
commit
5a56198937
1 file changed
+4
-1
@@ -1561,7 +1561,10 @@ class Phase2Translator:
|
||||
old_stub_count = len(self.stub_files)
|
||||
old_sig_count = len(self.sig_files)
|
||||
self.stub_files = {k: v for k, v in self.stub_files.items() if k in valid_sha1s}
|
||||
self.sig_files = {k: v for k, v in self.sig_files.items() if k in valid_sha1s}
|
||||
# sig_files 不能按 sha1_map(仅 App 源文件)过滤:include 模块的 .vpi
|
||||
# 也必须保留,否则跨模块 extern(ReadProcessMemory / StackWalk64 等)
|
||||
# 无法识别为裸名,链接时报 undefined symbol。
|
||||
self.sig_files = {k: v for k, v in self.sig_files.items() if os.path.isfile(v)}
|
||||
if old_stub_count != len(self.stub_files) or old_sig_count != len(self.sig_files):
|
||||
_vlog().info(f"过滤旧文件: stub {old_stub_count}->{len(self.stub_files)}, sig {old_sig_count}->{len(self.sig_files)}")
|
||||
|
||||
|
||||
Reference in new issue
Block a user