这个分割来自#49182(评论)。
在386上,__kernel_vsyscall
可以从cgo_start_thread
到达,通过asmcgocall
调用。
信号处理器无法正确检测原始的asmcgocall
调用作为cgo调用,因为sighandler
检查g.m.incgo
,而该值仅在cgocall
中设置。
我认为这里正确的方法是将g.m.incgo
(可能还有g.m.ncgo
)的调整从cgocall
推送到asmcgocall
。
这个分割来自#49182(评论)。
在386上,__kernel_vsyscall
可以从cgo_start_thread
到达,通过asmcgocall
调用。
信号处理器无法正确检测原始的asmcgocall
调用作为cgo调用,因为sighandler
检查g.m.incgo
,而该值仅在cgocall
中设置。
我认为这里正确的方法是将g.m.incgo
(可能还有g.m.ncgo
)的调整从cgocall
推送到asmcgocall
。
1条答案
按热度按时间sg2wtvxw1#
https://golang.org/cl/376656提到了这个问题:
runtime: skip TestSegv traceback check on 386