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
This commit is contained in:
@@ -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__)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#define __BIG_ENDIAN_BITFIELD
|
||||
#endif
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/swab.h>
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#define __LITTLE_ENDIAN_BITFIELD
|
||||
#endif
|
||||
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/swab.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user