[PATCH v2 6/8] arm64: alternatives: have callbacks take a cap

Jon Hunter jonathanh at nvidia.com
Thu Sep 29 02:53:56 PDT 2022


On 27/09/2022 10:31, Jon Hunter wrote:

...

>> diff --git a/arch/arm64/include/asm/alternative-macros.h 
>> b/arch/arm64/include/asm/alternative-macros.h
>> index 7e157ab6cd505..189c31be163ce 100644
>> --- a/arch/arm64/include/asm/alternative-macros.h
>> +++ b/arch/arm64/include/asm/alternative-macros.h
>> @@ -2,10 +2,16 @@
>>   #ifndef __ASM_ALTERNATIVE_MACROS_H
>>   #define __ASM_ALTERNATIVE_MACROS_H
>> +#include <linux/const.h>
>> +
>>   #include <asm/cpucaps.h>
>>   #include <asm/insn-def.h>
>> -#define ARM64_CB_PATCH ARM64_NCAPS
>> +#define ARM64_CB_BIT    (UL(1) << 15)
>> +
>> +#if ARM64_NCAPS >= ARM64_CB_BIT
>> +#error "cpucaps have overflown ARM64_CB_BIT"
>> +#endif
> 
> 
> Some of our builders are failing and bisect is pointing to this commit. 
> Looks like they don't like the above and I see the following errors ...
> 
>    CC      arch/arm64/kvm/hyp/vhe/debug-sr.o
> /tmp/ccY3kbki.s: Assembler messages:
> /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1600: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1600: Error: junk at end of line, first unrecognized 
> character is `L'
> /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1723: Error: found 'L', expected: ')'
> /tmp/ccY3kbki.s:1723: Error: junk at end of line, first unrecognized 
> character is `L'
> scripts/Makefile.build:249: recipe for target 
> 'arch/arm64/kvm/hyp/vhe/debug-sr.o' failed
> 
> Seems that it does not like the 'UL' macro for some reason. Any thoughts?


FYI, this issue is seen with GCC6 but GCC7 and beyond appear to work fine.

Jon

-- 
nvpublic



More information about the linux-arm-kernel mailing list