diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2022-05-28 02:40:01 +0300 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2022-05-28 02:40:01 +0300 |
| commit | 690e179059e7e89040d1cd564e39761567a8d5dc (patch) | |
| tree | b6a64fc5ca4fd862e17559c46676258ae17c87d5 /include/linux/objtool.h | |
| parent | 5f76955ab1e43e5795a9631b22ca4f918a0ae986 (diff) | |
| parent | 4b0986a3613c92f4ec1bdc7f60ec66fea135991f (diff) | |
| download | linux-690e179059e7e89040d1cd564e39761567a8d5dc.tar.xz | |
Merge tag 'v5.18' into next
Sync up with mainline to get updates to OMAP4 keypad driver and other
upstream goodies.
Diffstat (limited to 'include/linux/objtool.h')
| -rw-r--r-- | include/linux/objtool.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/objtool.h b/include/linux/objtool.h index aca52db2f3f3..586d35720f13 100644 --- a/include/linux/objtool.h +++ b/include/linux/objtool.h @@ -77,6 +77,18 @@ struct unwind_hint { #define STACK_FRAME_NON_STANDARD_FP(func) #endif +#define ANNOTATE_NOENDBR \ + "986: \n\t" \ + ".pushsection .discard.noendbr\n\t" \ + _ASM_PTR " 986b\n\t" \ + ".popsection\n\t" + +#define ASM_REACHABLE \ + "998:\n\t" \ + ".pushsection .discard.reachable\n\t" \ + ".long 998b - .\n\t" \ + ".popsection\n\t" + #else /* __ASSEMBLY__ */ /* @@ -129,6 +141,20 @@ struct unwind_hint { .popsection .endm +.macro ANNOTATE_NOENDBR +.Lhere_\@: + .pushsection .discard.noendbr + .quad .Lhere_\@ + .popsection +.endm + +.macro REACHABLE +.Lhere_\@: + .pushsection .discard.reachable + .long .Lhere_\@ - . + .popsection +.endm + #endif /* __ASSEMBLY__ */ #else /* !CONFIG_STACK_VALIDATION */ @@ -139,12 +165,18 @@ struct unwind_hint { "\n\t" #define STACK_FRAME_NON_STANDARD(func) #define STACK_FRAME_NON_STANDARD_FP(func) +#define ANNOTATE_NOENDBR +#define ASM_REACHABLE #else #define ANNOTATE_INTRA_FUNCTION_CALL .macro UNWIND_HINT sp_reg:req sp_offset=0 type:req end=0 .endm .macro STACK_FRAME_NON_STANDARD func:req .endm +.macro ANNOTATE_NOENDBR +.endm +.macro REACHABLE +.endm #endif #endif /* CONFIG_STACK_VALIDATION */ |
