All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: bp@alien8.de
Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
	x86@kernel.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org, Jiri Slaby <jslaby@suse.cz>,
	Andy Lutomirski <luto@kernel.org>
Subject: [PATCH v9 04/28] x86/asm/entry: Annotate THUNKs
Date: Fri, 11 Oct 2019 13:50:44 +0200	[thread overview]
Message-ID: <20191011115108.12392-5-jslaby@suse.cz> (raw)
In-Reply-To: <20191011115108.12392-1-jslaby@suse.cz>

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 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

The annotation of .L_restore does not generate anything to the code (at
the moment). Here, it just serves documentation purposes (as opening and
closing brackets of functions).

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: <x86@kernel.org>
---
 arch/x86/entry/thunk_32.S | 4 ++--
 arch/x86/entry/thunk_64.S | 7 ++++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/x86/entry/thunk_32.S b/arch/x86/entry/thunk_32.S
index 2713490611a3..e010d4ae11f1 100644
--- a/arch/x86/entry/thunk_32.S
+++ b/arch/x86/entry/thunk_32.S
@@ -10,8 +10,7 @@
 
 	/* put return address in eax (arg1) */
 	.macro THUNK name, func, put_ret_addr_in_eax=0
-	.globl \name
-\name:
+SYM_CODE_START_NOALIGN(\name)
 	pushl %eax
 	pushl %ecx
 	pushl %edx
@@ -27,6 +26,7 @@
 	popl %eax
 	ret
 	_ASM_NOKPROBE(\name)
+SYM_CODE_END(\name)
 	.endm
 
 #ifdef CONFIG_TRACE_IRQFLAGS
diff --git a/arch/x86/entry/thunk_64.S b/arch/x86/entry/thunk_64.S
index ea5c4167086c..c5c3b6e86e62 100644
--- a/arch/x86/entry/thunk_64.S
+++ b/arch/x86/entry/thunk_64.S
@@ -12,7 +12,7 @@
 
 	/* rdi:	arg1 ... normal C conventions. rax is saved/restored. */
 	.macro THUNK name, func, put_ret_addr_in_rdi=0
-	ENTRY(\name)
+SYM_FUNC_START_NOALIGN(\name)
 	pushq %rbp
 	movq %rsp, %rbp
 
@@ -33,7 +33,7 @@
 
 	call \func
 	jmp  .L_restore
-	ENDPROC(\name)
+SYM_FUNC_END(\name)
 	_ASM_NOKPROBE(\name)
 	.endm
 
@@ -56,7 +56,7 @@
 #if defined(CONFIG_TRACE_IRQFLAGS) \
  || defined(CONFIG_DEBUG_LOCK_ALLOC) \
  || defined(CONFIG_PREEMPTION)
-.L_restore:
+SYM_CODE_START_LOCAL_NOALIGN(.L_restore)
 	popq %r11
 	popq %r10
 	popq %r9
@@ -69,4 +69,5 @@
 	popq %rbp
 	ret
 	_ASM_NOKPROBE(.L_restore)
+SYM_CODE_END(.L_restore)
 #endif
-- 
2.23.0


  parent reply	other threads:[~2019-10-11 11:52 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11 11:50 [PATCH v9 00/28] New macros for assembler symbols Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 01/28] linkage: Introduce new " Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-11 11:50   ` Jiri Slaby
2019-10-14  9:31   ` Rafael J. Wysocki
2019-10-14  9:31     ` [Xen-devel] " Rafael J. Wysocki
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 02/28] x86/asm/suspend: Use SYM_DATA for data Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 03/28] x86/asm: Annotate relocate_kernel_{32,64}.c Jiri Slaby
2019-10-14 13:15   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` Jiri Slaby [this message]
2019-10-14 13:38   ` [PATCH v9 04/28] x86/asm/entry: Annotate THUNKs Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 05/28] x86/asm: Annotate local pseudo-functions Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 06/28] x86/asm/crypto: Annotate local functions Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 07/28] x86/boot: " Jiri Slaby
2019-10-14 14:27   ` Borislav Petkov
2019-10-15  5:43     ` Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 08/28] x86/uaccess: Annotate local function Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 09/28] x86/asm: Annotate aliases Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-11 11:50   ` Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 10/28] x86/asm/entry: Annotate interrupt symbols properly Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 11/28] x86/asm/head: Annotate data appropriately Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 12/28] x86/boot: " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 13/28] um: " Jiri Slaby
2019-10-15 15:37   ` Richard Weinberger
2019-10-18 16:30   ` [tip: x86/asm] x86/um: " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 14/28] xen/pvh: " Jiri Slaby
2019-10-11 11:50   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 15/28] x86/asm/purgatory: Start using annotations Jiri Slaby
2019-10-15 17:03   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 16/28] x86/asm: Do not annotate functions by GLOBAL Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: Do not annotate functions with GLOBAL tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 17/28] x86/asm: Use SYM_INNER_LABEL instead of GLOBAL Jiri Slaby
2019-10-15 17:31   ` Borislav Petkov
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 18/28] x86/asm/realmode: Use SYM_DATA_* " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-11 11:50 ` [PATCH v9 19/28] x86/asm: Kill the last GLOBAL user and remove the macro Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: Remove " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 20/28] x86/asm: Make some functions local Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 21/28] x86/asm/ftrace: Mark function_hook as function Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby
2019-10-18 16:48     ` Steven Rostedt
2019-10-18 16:49       ` Steven Rostedt
2019-10-18 17:13         ` Borislav Petkov
2019-10-18 17:37           ` Steven Rostedt
2019-10-18 19:48             ` Borislav Petkov
2019-10-18 20:31               ` Steven Rostedt
2019-10-19  7:34                 ` Borislav Petkov
2019-10-21 14:10                   ` [PATCH] x86/ftrace: Get rid of function_hook Borislav Petkov
2019-10-21 14:33                     ` Steven Rostedt
2019-10-22 11:38                     ` Jiri Slaby
2019-10-22 12:56                       ` Borislav Petkov
2019-10-22 12:57                         ` [PATCH -v2] " Borislav Petkov
2019-10-25  9:00       ` [tip: x86/asm] " tip-bot2 for Borislav Petkov
2019-10-11 11:51 ` [PATCH v9 22/28] x86_64/asm: Add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/64: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 23/28] x86_64/asm: Change all ENTRY+END to SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/64: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 24/28] x86_64/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-16  7:12   ` Borislav Petkov
2019-10-16  7:12     ` [Xen-devel] " Borislav Petkov
2019-10-16  7:12     ` Borislav Petkov
2019-10-16  7:12     ` Borislav Petkov
2019-10-18  6:56     ` Herbert Xu
2019-10-18  6:56       ` [Xen-devel] " Herbert Xu
2019-10-18 16:30   ` [tip: x86/asm] x86/asm: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 25/28] x86_32/asm: Add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2019-10-11 11:51   ` [Xen-devel] " Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` [Xen-devel] " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 26/28] x86_32/asm: Change all ENTRY+END to SYM_CODE_* Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 27/28] x86_32/asm: Change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] x86/asm/32: " tip-bot2 for Jiri Slaby
2019-10-18 16:30     ` tip-bot2 for Jiri Slaby
2019-10-11 11:51 ` [PATCH v9 28/28] x86/asm: Replace WEAK uses by SYM_INNER_LABEL_ALIGN Jiri Slaby
2019-10-18 16:30   ` [tip: x86/asm] " tip-bot2 for Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191011115108.12392-5-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.