New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[yadcc ARM] spinlock 在 arm 构建中找不到符号 __aarch64_swp1_acq #75
Comments
这个gcc是自己编译的吗? 印象里atomic的实现方式有两种,一种是直接生成ll/sc,一种是用libatomic(这个性能略差),具体选择哪个可能跟gcc的configure的参数有关。 centos8 aarch64带的gcc我记得应该是不用链接libatomic的。你可以看下你的环境的gcc是不是配置有什么不一样的地方。 |
是自己构建的,环境为 glibc 2.28 请看看是否正常
|
看起来没什么明显的问题。 我手上现在没有aarch64的环境,但是有这么一些想法:
|
我用简单的尝试了下, 同样的 configure 参数, gcc9及以前都是直接展开了原子指令, 但是 gcc 10 起使用了函数调用,除非开启 -mno-outline-atomics https://godbolt.org/z/z8W7z1cqx 不过发现并不需要显式链接静态库, 这应该是我的环境有多个 gcc ,搞混了导致, 也就是这个 BUILD 补丁是不必要的 网上类似问题 cloudius-systems/osv#1129 |
flare/flare/base/thread/BUILD
Line 162 in 64d72fc
在 arm 上构建 yadcc 的时候报错
经查此符号只在 libatomic.a 中有,似乎 gcc 与 atomic 关系有点复杂, 临时规避后继续通行
The text was updated successfully, but these errors were encountered: