Commit c56a12c7 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

x86/bug: Fix old GCC compile fails



For some mysterious reasons the GCC 8 and 9 preprocessor manages to
sporadically fumble _ASM_BYTES(0x0f, 0x0b):

$ grep ".byte[ ]*0x0f" defconfig-build/drivers/net/wireless/realtek/rtlwifi/base.s
        1:       .byte0x0f,0x0b ;
        1:       .byte 0x0f,0x0b ;

which makes the assembler upset and all that. While there are more
_ASM_BYTES() users (notably the NOP instructions), those don't seem
affected. Therefore replace the offending ASM_UD2 with one using the
ud2 mnemonic.

Reported-by: default avatarJean Delvare <jdelvare@suse.de>
Suggested-by: default avatarUros Bizjak <ubizjak@gmail.com>
Fixes: 85a2d4a8 ("x86,ibt: Use UDB instead of 0xEA")
Cc: stable@kernel.org
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251218104659.GT3911114@noisy.programming.kicks-ass.net
parent 0edc78b8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ extern void __WARN_trap(struct bug_entry *bug, ...);
/*
 * Despite that some emulators terminate on UD2, we use it for WARN().
 */
#define ASM_UD2		_ASM_BYTES(0x0f, 0x0b)
#define ASM_UD2		__ASM_FORM(ud2)
#define INSN_UD2	0x0b0f
#define LEN_UD2		2