Commit 2afa90bd authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'objtool_urgent_for_v5.16_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool fixes from Borislav Petkov:

 - Prevent clang from reordering the reachable annotation in
   an inline asm statement without inputs

 - Fix objtool builds on non-glibc systems due to undefined
   __always_inline

* tag 'objtool_urgent_for_v5.16_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  compiler.h: Fix annotation macro misplacement with Clang
  uapi: Fix undefined __always_inline on non-glibc systems
parents 43864519 dcce50e6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
	asm volatile(__stringify_label(c) ":\n\t"			\
		     ".pushsection .discard.reachable\n\t"		\
		     ".long " __stringify_label(c) "b - .\n\t"		\
		     ".popsection\n\t");				\
		     ".popsection\n\t" : : "i" (c));			\
})
#define annotate_reachable() __annotate_reachable(__COUNTER__)

@@ -129,7 +129,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
	asm volatile(__stringify_label(c) ":\n\t"			\
		     ".pushsection .discard.unreachable\n\t"		\
		     ".long " __stringify_label(c) "b - .\n\t"		\
		     ".popsection\n\t");				\
		     ".popsection\n\t" : : "i" (c));			\
})
#define annotate_unreachable() __annotate_unreachable(__COUNTER__)

+2 −2
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
	asm volatile(__stringify(c) ": nop\n\t"				\
		     ".pushsection .discard.instr_begin\n\t"		\
		     ".long " __stringify(c) "b - .\n\t"		\
		     ".popsection\n\t");				\
		     ".popsection\n\t" : : "i" (c));			\
})
#define instrumentation_begin() __instrumentation_begin(__COUNTER__)

@@ -50,7 +50,7 @@
	asm volatile(__stringify(c) ": nop\n\t"				\
		     ".pushsection .discard.instr_end\n\t"		\
		     ".long " __stringify(c) "b - .\n\t"		\
		     ".popsection\n\t");				\
		     ".popsection\n\t" : : "i" (c));			\
})
#define instrumentation_end() __instrumentation_end(__COUNTER__)
#else
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#define __BIG_ENDIAN_BITFIELD
#endif

#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>

+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@
#define __LITTLE_ENDIAN_BITFIELD
#endif

#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/swab.h>