]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
s390/bug: remove entry size from __bug_table section
authorHeiko Carstens <hca@linux.ibm.com>
Fri, 9 Feb 2024 10:48:25 +0000 (11:48 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 14 Feb 2024 12:50:53 +0000 (13:50 +0100)
Commit e21f8baf8d9a ("s390/bug: add entry size to the __bug_table section")
changed the __EMIT_BUG() inline assembly to emit mergeable __bug_table
entries. This is at least currently not needed, but causes problems with
the upcoming s390 ld.lld support:

  ld.lld: error: drivers/nvme/host/fc.o:(__bug_table): writable SHF_MERGE section is not supported

Therefore revert the change for now.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Closes: https://lore.kernel.org/all/20240207-s390-lld-and-orphan-warn-v1-0-8a665b3346ab@kernel.org/
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/bug.h

index aebe1e22c7befa486bbe269383164f9a792b5c89..c500d45fb465c5868f0269406f7ae6567ca5a3a0 100644 (file)
@@ -14,7 +14,7 @@
                ".section .rodata.str,\"aMS\",@progbits,1\n"    \
                "1:     .asciz  \""__FILE__"\"\n"               \
                ".previous\n"                                   \
-               ".section __bug_table,\"awM\",@progbits,%2\n"   \
+               ".section __bug_table,\"aw\"\n"                 \
                "2:     .long   0b-.\n"                         \
                "       .long   1b-.\n"                         \
                "       .short  %0,%1\n"                        \
@@ -30,7 +30,7 @@
 #define __EMIT_BUG(x) do {                                     \
        asm_inline volatile(                                    \
                "0:     mc      0,0\n"                          \
-               ".section __bug_table,\"awM\",@progbits,%1\n"   \
+               ".section __bug_table,\"aw\"\n"                 \
                "1:     .long   0b-.\n"                         \
                "       .short  %0\n"                           \
                "       .org    1b+%1\n"                        \