-
Notifications
You must be signed in to change notification settings - Fork 15
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
RISC-V unsupported version number ... for extension '...' #1777
Comments
@nathanchance FWIW for binutils it was decided that this was not worth caring about: What version of LLVM is this with? |
@ConchuOD I believe this was with tip of tree at the time, so 16. |
@nathanchance I was hoping it'd be an earlier version :( I'm really not sure what to do about these, last time around (with zihintpause/zicbom) it wasn't immediately obvious how one is meant to check what extensions (or versions thereof) the linker supported since there was seemingly no way to pass the isa string to the linker to test what it was capable of. That's why we settled for LD version checks in Kconfig for enabling extensions, eg:
Ditto for Zihintpause. 23800 predates Zicbom support, but is the version of ld that contained bminor/binutils-gdb@87fdd7ac09b ;) We, AFAIK, don't pass --with-spec-version so you get whatever the defaults for your toolchain are. @palmer-dabbelt probably knows far more than I do about what's doable (or if anything is even worth doing about this)
I test these sort of things for patchsets adding instructions that require toolchain support, got a bunch of setups that I try. |
We consider this to be a regression in LLD, and an unintended side-effect of using RISCVISAInfo.cpp to aid in the logic for build attribute merging. See llvm/llvm-project#60889 and my related post on LLVM discourse. Sorry for the hassle here - if you encounter problems like this in the future, please do tag me or even better, file an upstream bug. |
@asb Thanks a lot for pointing out those issues, I will make sure not to sit on future reports for that long, I did not consider bisecting LLVM to see if it was a recent change that caused this. |
No need to bisect if you see something that looks like a usability problem for gcc/clang compatibility. Even if it's not a regression, we're keen to fix it! Looks like it's confirmed there'll be a 16.0.0-rc4 so there's still hope we can get the fix in to 16.0.0 if it gets reviewed quickly. |
My patch to resolve this in LLD is now reviewed and committed, and I've requested a backport to the 16.0.0 release branch, meaning 16.0.0 hopefully won't have this issue. |
@nathanchance (or @ConchuOD ) can you re-verify this then close this out if we're all set here? |
Checking it was on my plan for today, I'll do it once I've had lunch! |
CONFIG_CC_VERSION_TEXT="ClangBuiltLinux clang version 16.0.0 (/stuff/toolchains/llvm/clang f53ab957ead2cba674e72c22dcbd0cd74007940a)" The above built a defconfig kernel for me fine. |
@nathanchance @nickdesaulniers I think we can close this one? |
The kernel test robot recently reported a series of
ARCH=riscv
link errors when usingld.lld
and GNU as that appear after a backport of mine. Looking into it further, these are visible in mainline when using recent binutils (I see it with 2.39):We do not test
LLVM=1 LLVM_IAS=0
much in newer kernels and CI's version of binutils is not new enough to show this.The text was updated successfully, but these errors were encountered: