Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08b6d290f977d8145804fd2b9bc2c331f2484f8e
Commit:     08b6d290f977d8145804fd2b9bc2c331f2484f8e
Parent:     e68decb52104388ed6c6218be926e10e6cde2814
Author:     Sam Ravnborg <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 30 13:33:25 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 13:33:25 2008 +0100

    xen: fix section usage in xen-head.S and setup.c
    
    additional section for .init.text appending a number.
    
    A side effect of this was a section mismatch warning because modpost did
    not recognize a .init.text section named .init.text.1: WARNING:
    vmlinux.o(.text.head+0x247): Section mismatch: reference to
    .init.text.1:start_kernel (between 'is386' and 'check_x87')
    
    Fix this by hardcoding the "ax" in the pushsection.  Thanks to Torlaf for
    reporting this.
    
    Alan Modra provided the hint that made me able to locate the root cause of
    this warning.  And Mike Frysinger told me how to properly fix it using
    __INIT/__FINIT.
    
    Fix following Section mismatch warning in addition:
    WARNING: vmlinux.o(.text+0x14c8): Section mismatch: reference to 
.init.data:vsyscall_int80_start (between 'fiddle_vdso' and 'xen_setup_features')
    
    fiddle_vdso was only used from a __init function - so declare it __init.
    
    Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
    Cc: Jeremy Fitzhardinge <[EMAIL PROTECTED]>
    Cc: Chris Wright <[EMAIL PROTECTED]>
    Cc: WANG Cong <[EMAIL PROTECTED]>
    Cc: Toralf Förster <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
---
 arch/x86/xen/setup.c    |    2 +-
 arch/x86/xen/xen-head.S |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 7d6d0ef..3bad477 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -60,7 +60,7 @@ static void xen_idle(void)
 /*
  * Set the bit indicating "nosegneg" library variants should be used.
  */
-static void fiddle_vdso(void)
+static void __init fiddle_vdso(void)
 {
        extern const char vdso32_default_start;
        u32 *mask = VDSO32_SYMBOL(&vdso32_default_start, NOTE_MASK);
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index f8d6937..288d587 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -4,16 +4,18 @@
 #ifdef CONFIG_XEN
 
 #include <linux/elfnote.h>
+#include <linux/init.h>
 #include <asm/boot.h>
 #include <xen/interface/elfnote.h>
 
-.pushsection .init.text
+       __INIT
 ENTRY(startup_xen)
        movl %esi,xen_start_info
        cld
        movl $(init_thread_union+THREAD_SIZE),%esp
        jmp xen_start_kernel
-.popsection
+
+       __FINIT
 
 .pushsection .bss.page_aligned
        .align PAGE_SIZE_asm
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to