On Wed, Jan 30, 2019 at 01:46:48PM +0100, Jiri Slaby wrote:
> Place SYM_*_START_NOALIGN and SYM_*_END around the THUNK macro body.
> Preserve @function by FUNC (64bit) and CODE (32bit). Given it was not
> marked as aligned, use NOALIGN.
> 
> The common tail .L_restore is put inside SYM_CODE_START_LOCAL_NOALIGN
> and SYM_CODE_END too.
> 
> The result:
>  Value  Size Type    Bind   Vis      Ndx Name
>   0000    28 FUNC    GLOBAL DEFAULT    1 trace_hardirqs_on_thunk
>   001c    28 FUNC    GLOBAL DEFAULT    1 trace_hardirqs_off_thunk
>   0038    24 FUNC    GLOBAL DEFAULT    1 lockdep_sys_exit_thunk
>   0050    24 FUNC    GLOBAL DEFAULT    1 ___preempt_schedule
>   0068    24 FUNC    GLOBAL DEFAULT    1 ___preempt_schedule_notra
> 
> Signed-off-by: Jiri Slaby <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: <[email protected]>
> ---
>  arch/x86/entry/thunk_32.S | 4 ++--
>  arch/x86/entry/thunk_64.S | 8 ++++----
>  2 files changed, 6 insertions(+), 6 deletions(-)

...

> @@ -57,7 +56,7 @@
>  #if defined(CONFIG_TRACE_IRQFLAGS) \
>   || defined(CONFIG_DEBUG_LOCK_ALLOC) \
>   || defined(CONFIG_PREEMPT)
> -.L_restore:
> +SYM_CODE_START_LOCAL_NOALIGN(.L_restore)
>       popq %r11
>       popq %r10
>       popq %r9
> @@ -70,4 +69,5 @@
>       popq %rbp
>       ret
>       _ASM_NOKPROBE(.L_restore)
> +SYM_CODE_END(.L_restore)

That local label doesn't even land in the symbol table:

$ readelf -a  arch/x86/entry/thunk_64.o | grep restore
$

so no need to touch it, AFAICT. And all local labels, for that matter.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

Reply via email to