#5693·tinygo

运行时: weak.Pointer.Value 无法链接

作者: yohimik创建于 2026年9月17日更新于 2026年9月17日

调用 weak.Pointer.Value() 的程序无法链接,因为 weak.runtime_makeStrongFromWeak 缺失。这也阻碍了 Go 标准库的 TLS 证书缓存。使用 Go 1.24 或更高版本,运行 tinygo run testdata/weak.go,使用 #5633 的小型重现程序。原始的 Darwin/arm64 报告显示 linker could not find symbol _weak.runtime_makeStrongFromWeak。预期输出为 weak value: 42。源代码于 2026 年 9 月 18 日检查。 dev93940cb6 中仍包含注册钩子,但缺少转换钩子。本报告涵盖了缺失的符号。弱指针集合行为需要单独处理。#5633 在 2026 年 9 月 17 日关闭,并提出了对本问题的要求。#5635 中的主机 TLS 选择依赖于此钩子。

内容来源: tinygo-org/tinygo