PLCrashReporter未在Xcode 10 beta中编译。好像是寄存器大小问题。
错误:指令movq%cs,160(%rsp)的操作数无效;
错误:指令movq%fs,168(%rsp)的操作数无效;
错误:指令movq%gs,176(%rsp)的操作数无效;
更改代码后,我确实遵循了此链接Thread documentation,其他说明也出错了。
错误:指令movl%cs的操作数无效,16 +56(%esp);
错误:指令movl%ds的操作数无效,16 +60(%esp);
错误:指令movl%es的操作数无效,16 +64(%esp);
非常感谢您的帮助。
答案 0 :(得分:0)
似乎beta 5有很多错误。
我的ln
错误
beta 1〜4一切正常。加上Xcode 9
答案 1 :(得分:0)
使用此版本可修复作者存储库中的某些问题
https://github.com/Microsoft/PLCrashReporter
如果您想使用原始版本,请替换here中报告的PLCrashAsyncThread_current.S
文件中的以下内容(行号149附近)
#if 0
MOVL (cs, 56);
MOVL (ds, 60);
MOVL (es, 64);
MOVL (fs, 68);
MOVL (gs, 72);
#undef MOVL
#else
movl $0, 56(%esp);
movw %cs, 56+OFF(%esp);
movl $0, 60(%esp);
movw %ds, 60+OFF(%esp);
movl $0, 64(%esp);
movw %es, 64+OFF(%esp);
movl $0, 68(%esp);
movw %fs, 68+OFF(%esp);
movl $0, 72(%esp);
movw %gs, 72+OFF(%esp);
#endif
请注意,这只会部分解决它。对于自旋锁和内存屏障,PLCR仍使用一些过时的功能,需要对其进行修复。
答案 2 :(得分:0)