s390/extable: prefer local labels in .set directives
authorHeiko Carstens <hca@linux.ibm.com>
Sun, 1 May 2022 19:05:59 +0000 (21:05 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Fri, 6 May 2022 18:45:14 +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/asm-extable.h

index fb62df5..f24d959 100644 (file)
        stringify_in_c(.long    (_target) - .;)                         \
        stringify_in_c(.short   (_type);)                               \
        stringify_in_c(.macro extable_reg reg;)                         \
-       stringify_in_c(.set found, 0;)                                  \
-       stringify_in_c(.set regnr, 0;)                                  \
+       stringify_in_c(.set .Lfound, 0;)                                \
+       stringify_in_c(.set .Lregnr, 0;)                                \
        stringify_in_c(.irp rs,r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15;) \
        stringify_in_c(.ifc "\reg", "%%\rs";)                           \
-       stringify_in_c(.set found, 1;)                                  \
-       stringify_in_c(.short regnr;)                                   \
+       stringify_in_c(.set .Lfound, 1;)                                \
+       stringify_in_c(.short .Lregnr;)                                 \
        stringify_in_c(.endif;)                                         \
-       stringify_in_c(.set regnr, regnr+1;)                            \
+       stringify_in_c(.set .Lregnr, .Lregnr+1;)                        \
        stringify_in_c(.endr;)                                          \
-       stringify_in_c(.ifne (found != 1);)                             \
+       stringify_in_c(.ifne (.Lfound != 1);)                           \
        stringify_in_c(.error "extable_reg: bad register argument";)    \
        stringify_in_c(.endif;)                                         \
        stringify_in_c(.endm;)                                          \