s390/nospec: prefer local labels in .set directives
authorHeiko Carstens <hca@linux.ibm.com>
Sun, 1 May 2022 18:55:05 +0000 (20:55 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 6 May 2022 18:45:13 +0000 (20:45 +0200)
Use local labels in .set directives to avoid potential compile errors
with LTO + clang. See commit 334865b2915c ("x86/extable: Prefer local
labels in .set directives") for further details.

Since s390 doesn't support LTO currently this doesn't fix a real bug
for now, but helps to avoid problems as soon as required pieces have
been added to llvm.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/nospec-insn.h

index 2cfcd5a..d910d71 100644 (file)
        .endm
 
        .macro  __DECODE_R expand,reg
-       .set __decode_fail,1
+       .set .L__decode_fail,1
        .irp r1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
        .ifc \reg,%r\r1
        \expand \r1
-       .set __decode_fail,0
+       .set .L__decode_fail,0
        .endif
        .endr
-       .if __decode_fail == 1
+       .if .L__decode_fail == 1
        .error "__DECODE_R failed"
        .endif
        .endm
 
        .macro  __DECODE_RR expand,rsave,rtarget
-       .set __decode_fail,1
+       .set .L__decode_fail,1
        .irp r1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
        .ifc \rsave,%r\r1
        .irp r2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
        .ifc \rtarget,%r\r2
        \expand \r1,\r2
-       .set __decode_fail,0
+       .set .L__decode_fail,0
        .endif
        .endr
        .endif
        .endr
-       .if __decode_fail == 1
+       .if .L__decode_fail == 1
        .error "__DECODE_RR failed"
        .endif
        .endm