git: 28d945204ea1 - main - Handle functions that use a nop in the arm64 fbt

Jessica Clarke jrtc27 at freebsd.org
Wed Mar 3 14:29:03 UTC 2021


On 3 Mar 2021, at 14:26, Andrew Turner <andrew at FreeBSD.org> wrote:
> 
> The branch main has been updated by andrew:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=28d945204ea1014d7de6906af8470ed8b3311335
> 
> commit 28d945204ea1014d7de6906af8470ed8b3311335
> Author:     Andrew Turner <andrew at FreeBSD.org>
> AuthorDate: 2021-01-13 11:08:19 +0000
> Commit:     Andrew Turner <andrew at FreeBSD.org>
> CommitDate: 2021-03-03 14:18:03 +0000
> 
>    Handle functions that use a nop in the arm64 fbt
> 
>    To trace leaf asm functions we can insert a single nop instruction as
>    the first instruction in a function and trigger off this.
> 
>    Reviewed by:    gnn
>    Sponsored by:   Innovate UK
>    Differential Revision:  https://reviews.freebsd.org/D28132
> ---
> sys/arm64/include/asm.h                            |  8 +++-
> .../contrib/opensolaris/uts/common/sys/dtrace.h    |  2 +
> sys/cddl/dev/dtrace/aarch64/dtrace_subr.c          |  5 +++
> sys/cddl/dev/fbt/aarch64/fbt_isa.c                 | 51 ++++++++++++++--------
> 4 files changed, 46 insertions(+), 20 deletions(-)
> 
> diff --git a/sys/arm64/include/asm.h b/sys/arm64/include/asm.h
> index 05e618500e59..32b79d256e80 100644
> --- a/sys/arm64/include/asm.h
> +++ b/sys/arm64/include/asm.h
> @@ -38,9 +38,15 @@
> 
> #define	_C_LABEL(x)	x
> 
> +#ifdef KDTRACE_HOOKS
> +#define	DTRACE_NOP	nop
> +#else
> +#define	DTRACE_NOP
> +#endif
> +
> #define	LENTRY(sym)						\
> 	.text; .align 2; .type sym,#function; sym:		\
> -	.cfi_startproc
> +	.cfi_startproc; DTRACE_NOP
> #define	ENTRY(sym)						\
> 	.globl sym; LENTRY(sym)

Doesn't this mean ENTRY incorrectly also has the nop?

Jess



More information about the dev-commits-src-all mailing list