Commit 30b82568 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

bug: Clean up CONFIG_GENERIC_BUG_RELATIVE_POINTERS



Three repeated CONFIG_GENERIC_BUG_RELATIVE_POINTERS #ifdefs right
after one another yields unreadable code. Add a helper.

Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20251110115757.341703850@infradead.org
parent d292dbb5
Loading
Loading
Loading
Loading
+8 −14
Original line number Diff line number Diff line
@@ -35,26 +35,20 @@ void __warn(const char *file, int line, void *caller, unsigned taint,

#ifdef CONFIG_BUG

#ifdef CONFIG_GENERIC_BUG
struct bug_entry {
#ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS
	unsigned long	bug_addr;
#define BUG_REL(type, name) type name
#else
	signed int	bug_addr_disp;
#define BUG_REL(type, name) signed int name##_disp
#endif

#ifdef CONFIG_GENERIC_BUG
struct bug_entry {
	BUG_REL(unsigned long, bug_addr);
#ifdef HAVE_ARCH_BUG_FORMAT
#ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS
	const char	*format;
#else
	signed int	format_disp;
#endif
	BUG_REL(const char *, format);
#endif
#ifdef CONFIG_DEBUG_BUGVERBOSE
#ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS
	const char	*file;
#else
	signed int	file_disp;
#endif
	BUG_REL(const char *, file);
	unsigned short	line;
#endif
	unsigned short	flags;