On 3 Mar 2021, at 14:29, Jessica Clarke <jrt...@freebsd.org> wrote:
> On 3 Mar 2021, at 14:26, Andrew Turner <and...@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 <and...@freebsd.org>
>> AuthorDate: 2021-01-13 11:08:19 +0000
>> Commit:     Andrew Turner <and...@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?

Hm, right, the L in LENTRY means local not leaf. Isn't this a problem
though? (L)ENTRY are perfectly legal to use for non-leaf assembly
functions today. Shouldn't there be separate ones specifically for leaf
functions if you want to treat them differently?

Jess

_______________________________________________
dev-commits-src-main@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"

Reply via email to