* annotate functions properly by SYM_CODE_START, SYM_CODE_START_LOCAL*
  and SYM_CODE_END -- these are not C-like functions, so we have to
  annotate them using CODE.
* use SYM_INNER_LABEL* for labels being in the middle of other functions

[v4] alignments preserved

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/entry_32.S | 15 ++++++++-------
 arch/x86/entry/entry_64.S |  9 ++++-----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 030fbeba5f4a..4b80b2fb4de1 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -340,7 +340,7 @@ ret_from_intr:
        cmpl    $USER_RPL, %eax
        jb      resume_kernel                   # not returning to v8086 or 
userspace
 
-ENTRY(resume_userspace)
+SYM_INNER_LABEL_ALIGN(resume_userspace, SYM_L_LOCAL)
        DISABLE_INTERRUPTS(CLBR_ANY)
        TRACE_IRQS_OFF
        movl    %esp, %eax
@@ -579,10 +579,11 @@ restore_all:
        INTERRUPT_RETURN
 
 .section .fixup, "ax"
-ENTRY(iret_exc )
+SYM_CODE_START(iret_exc)
        pushl   $0                              # no error code
        pushl   $do_iret_error
        jmp     common_exception
+SYM_CODE_END(iret_exc)
 .previous
        _ASM_EXTABLE(.Lirq_return, iret_exc)
 
@@ -674,7 +675,7 @@ END(irq_entries_start)
  * so IRQ-flags tracing has to follow that:
  */
        .p2align CONFIG_X86_L1_CACHE_SHIFT
-common_interrupt:
+SYM_CODE_START_LOCAL(common_interrupt)
        ASM_CLAC
        addl    $-0x80, (%esp)                  /* Adjust vector into the 
[-256, -1] range */
        SAVE_ALL
@@ -683,7 +684,7 @@ common_interrupt:
        movl    %esp, %eax
        call    do_IRQ
        jmp     ret_from_intr
-ENDPROC(common_interrupt)
+SYM_CODE_END(common_interrupt)
 
 #define BUILD_INTERRUPT3(name, nr, fn) \
 ENTRY(name)                            \
@@ -835,7 +836,7 @@ ENTRY(xen_hypervisor_callback)
 
        jmp     xen_iret_crit_fixup
 
-ENTRY(xen_do_upcall)
+SYM_INNER_LABEL_ALIGN(xen_do_upcall, SYM_L_GLOBAL)
 1:     mov     %esp, %eax
        call    xen_evtchn_do_upcall
 #ifndef CONFIG_PREEMPT
@@ -920,7 +921,7 @@ ENTRY(page_fault)
        jmp common_exception
 END(page_fault)
 
-common_exception:
+SYM_CODE_START_LOCAL_NOALIGN(common_exception)
        /* the function address is in %gs's slot on the stack */
        pushl   %fs
        pushl   %es
@@ -950,7 +951,7 @@ common_exception:
        movl    %esp, %eax                      # pt_regs pointer
        CALL_NOSPEC %edi
        jmp     ret_from_exception
-END(common_exception)
+SYM_CODE_END(common_exception)
 
 ENTRY(debug)
        /*
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 80045cb2f44c..e0798c044055 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -637,7 +637,7 @@ END(interrupt_entry)
         * then jump to common_interrupt.
         */
        .p2align CONFIG_X86_L1_CACHE_SHIFT
-common_interrupt:
+SYM_CODE_START_LOCAL(common_interrupt)
        addq    $-0x80, (%rsp)                  /* Adjust vector to [-256, -1] 
range */
        call    interrupt_entry
        UNWIND_HINT_REGS indirect=1
@@ -733,7 +733,7 @@ GLOBAL(restore_regs_and_return_to_kernel)
         */
        INTERRUPT_RETURN
 
-ENTRY(native_iret)
+SYM_INNER_LABEL_ALIGN(native_iret, SYM_L_GLOBAL)
        UNWIND_HINT_IRET_REGS
        /*
         * Are we returning to a stack segment from the LDT?  Note: in
@@ -744,8 +744,7 @@ ENTRY(native_iret)
        jnz     native_irq_return_ldt
 #endif
 
-.global native_irq_return_iret
-native_irq_return_iret:
+SYM_INNER_LABEL(native_irq_return_iret, SYM_L_GLOBAL)
        /*
         * This may fault.  Non-paranoid faults on return to userspace are
         * handled by fixup_bad_iret.  These include #SS, #GP, and #NP.
@@ -827,7 +826,7 @@ native_irq_return_ldt:
         */
        jmp     native_irq_return_iret
 #endif
-END(common_interrupt)
+SYM_CODE_END(common_interrupt)
 
 /*
  * APIC interrupts.
-- 
2.16.3

Reply via email to