• Palmer Dabbelt's avatar
    Merge patch series "Fix RISC-V toolchain extension support detection" · 952b64d6
    Palmer Dabbelt authored
    Conor Dooley <conor@kernel.org> says:
    
    From: Conor Dooley <conor.dooley@microchip.com>
    
    This came up due to a report from Kevin @ kernel-ci, who had been
    running a mixed configuration of GNU binutils and clang. Their compiler
    was relatively recent & supports Zicbom but binutils @ 2.35.2 did not.
    
    Our current checks for extension support only cover the compiler, but it
    appears to me that we need to check both the compiler & linker support
    in case of "pot-luck" configurations that mix different versions of
    LD,AS,CC etc.
    
    Linker support does not seem possible to actually check, since the ISA
    string is emitted into the object files - so I put in version checks for
    that. The checks have gotten a bit ugly since 32 & 64 bit support need
    to be checked independently but ahh well.
    
    As I was going, I fell into the trap of there being duplicated checks
    for CC support in both the Makefile and Kconfig, so as part of renaming
    the Kconfig symbol to TOOLCHAIN_HAS_FOO, I dropped the extra checks in
    the Makefile. This has the added advantage of the TOOLCHAIN_HAS_FOO
    symbol for Zihintpause appearing in .config.
    
    I pushed out a version of this that specificly checked for assember
    support for LKP to test & it looked /okay/ - but I did some more testing
    today and realised that this is redudant & have since dropped the as
    check.
    
    I tested locally with a fair few different combinations, to try and
    cover each of AS, LD, CC missing support for the extension.
    
    * b4-shazam-merge:
      riscv: fix detection of toolchain Zihintpause support
      riscv: fix detection of toolchain Zicbom support
    
    Link: https://lore.kernel.org/r/20221006173520.1785507-1-conor@kernel.orgSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    952b64d6
Kconfig 19.8 KB