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

x86/bugs: Make i386 use GENERIC_BUG_RELATIVE_POINTERS



Linus figured less #ifdef is more better and making x86-32 use
GENERIC_BUG_RELATIVE_POINTERS removes one layer of macro magic from
the bug.h bits.

Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent d62e4f2b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -380,7 +380,7 @@ config GENERIC_CSUM
config GENERIC_BUG
	def_bool y
	depends on BUG
	select GENERIC_BUG_RELATIVE_POINTERS if X86_64
	select GENERIC_BUG_RELATIVE_POINTERS

config GENERIC_BUG_RELATIVE_POINTERS
	bool
+4 −10
Original line number Diff line number Diff line
@@ -42,15 +42,9 @@ extern void __WARN_trap(struct bug_entry *bug, ...);

#ifdef CONFIG_GENERIC_BUG

#ifdef CONFIG_X86_32
#define __BUG_REL(val)		".long " val
#else
#define __BUG_REL(val)		".long " val " - ."
#endif

#ifdef CONFIG_DEBUG_BUGVERBOSE
#define __BUG_ENTRY_VERBOSE(file, line)					\
	"\t" __BUG_REL(file)   "\t# bug_entry::file\n"			\
	"\t.long " file " - .\t# bug_entry::file\n"			\
	"\t.word " line     "\t# bug_entry::line\n"
#else
#define __BUG_ENTRY_VERBOSE(file, line)
@@ -59,7 +53,7 @@ extern void __WARN_trap(struct bug_entry *bug, ...);
#if defined(CONFIG_X86_64) || defined(CONFIG_DEBUG_BUGVERBOSE_DETAILED)
#define HAVE_ARCH_BUG_FORMAT
#define __BUG_ENTRY_FORMAT(format)					\
	"\t" __BUG_REL(format)	"\t# bug_entry::format\n"
	"\t.long " format " - .\t# bug_entry::format\n"
#else
#define __BUG_ENTRY_FORMAT(format)
#endif
@@ -69,7 +63,7 @@ extern void __WARN_trap(struct bug_entry *bug, ...);
#endif

#define __BUG_ENTRY(format, file, line, flags)				\
	__BUG_REL("1b")		"\t# bug_entry::bug_addr\n"		\
	"\t.long 1b - ."	"\t# bug_entry::bug_addr\n"		\
	__BUG_ENTRY_FORMAT(format)					\
	__BUG_ENTRY_VERBOSE(file, line)					\
	"\t.word " flags	"\t# bug_entry::flags\n"