Skip to content

Commit e21f8ba

Browse files
author
Martin Schwidefsky
committed
s390/bug: add entry size to the __bug_table section
Change the __EMIT_BUG inline assembly to emit mergeable __bug_table entries with type @progbits and specify the size of each entry. The entry size is encoded sh_entsize field of the section definition, it allows to identify which struct bug_entry to use to decode the entries. This will be needed for the objtool support. Signed-off-by: Martin Schwidefsky <[email protected]>
1 parent bf72630 commit e21f8ba

File tree

1 file changed

+12
-12
lines changed
  • arch/s390/include/asm

1 file changed

+12
-12
lines changed

arch/s390/include/asm/bug.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
".section .rodata.str,\"aMS\",@progbits,1\n" \
1616
"2: .asciz \""__FILE__"\"\n" \
1717
".previous\n" \
18-
".section __bug_table,\"aw\"\n" \
18+
".section __bug_table,\"awM\",@progbits,%2\n" \
1919
"3: .long 1b-3b,2b-3b\n" \
2020
" .short %0,%1\n" \
2121
" .org 3b+%2\n" \
@@ -27,17 +27,17 @@
2727

2828
#else /* CONFIG_DEBUG_BUGVERBOSE */
2929

30-
#define __EMIT_BUG(x) do { \
31-
asm volatile( \
32-
"0: j 0b+2\n" \
33-
"1:\n" \
34-
".section __bug_table,\"aw\"\n" \
35-
"2: .long 1b-2b\n" \
36-
" .short %0\n" \
37-
" .org 2b+%1\n" \
38-
".previous\n" \
39-
: : "i" (x), \
40-
"i" (sizeof(struct bug_entry))); \
30+
#define __EMIT_BUG(x) do { \
31+
asm volatile( \
32+
"0: j 0b+2\n" \
33+
"1:\n" \
34+
".section __bug_table,\"awM\",@progbits,%1\n" \
35+
"2: .long 1b-2b\n" \
36+
" .short %0\n" \
37+
" .org 2b+%1\n" \
38+
".previous\n" \
39+
: : "i" (x), \
40+
"i" (sizeof(struct bug_entry))); \
4141
} while (0)
4242

4343
#endif /* CONFIG_DEBUG_BUGVERBOSE */

0 commit comments

Comments
 (0)