我尝试构建GLIB并对其进行交叉编译(针对ARM 32上的Windows),但当编译到valgrind.h/gslice.c时,它失败了,并说:
error: invalid output constraint '=d' in asm
我看了看周围,但我没有看到任何人有“=d”失败的问题,从来没有。编译器是LLVM-MinGW(基于clang 10/llvm/lld的MinGW工具链),Linux发行版是Pop!_OS 20.04,一切都更新了。任何帮助都很感激!谢谢
b5buobof1#
并非所有定义__GNUC__的语句都支持asm语句的标志输出;特别是macOS上的某些Clang版本不支持。根据愚者文档,正确的测试是__GCC_ASM_FLAG_OUTPUTS__,因此请使用该测试。请在以下位置查看Patch中的详细信息:https://github.com/google/snappy/commit/8dd58a519f79f0742d4c68fbccb2aed2ddb651e8
__GNUC__
__GCC_ASM_FLAG_OUTPUTS__
1条答案
按热度按时间b5buobof1#
并非所有定义
__GNUC__
的语句都支持asm语句的标志输出;特别是macOS上的某些Clang版本不支持。
根据愚者文档,正确的测试是
__GCC_ASM_FLAG_OUTPUTS__
,因此请使用该测试。请在以下位置查看Patch中的详细信息:
https://github.com/google/snappy/commit/8dd58a519f79f0742d4c68fbccb2aed2ddb651e8