x86 vDSO: absolute relocs
authorRoland McGrath <roland@redhat.com>
Wed, 30 Jan 2008 12:30:42 +0000 (13:30 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:30:42 +0000 (13:30 +0100)
This updates the exceptions for absolute relocs for the new symbol name
convention used for symbols extracted from the vDSO images.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/boot/compressed/relocs.c

index 7a0d00b2cf28303f6b1471767bb15423eaada7cb..d01ea42187e6aa8ddcd1218f229e74e6dda13148 100644 (file)
@@ -27,11 +27,6 @@ static unsigned long *relocs;
  * absolute relocations present w.r.t these symbols.
  */
 static const char* safe_abs_relocs[] = {
-               "__kernel_vsyscall",
-               "__kernel_rt_sigreturn",
-               "__kernel_sigreturn",
-               "SYSENTER_RETURN",
-               "VDSO_NOTE_MASK",
                "xen_irq_disable_direct_reloc",
                "xen_save_fl_direct_reloc",
 };
@@ -45,6 +40,8 @@ static int is_safe_abs_reloc(const char* sym_name)
                        /* Match found */
                        return 1;
        }
+       if (strncmp(sym_name, "VDSO", 4) == 0)
+               return 1;
        if (strncmp(sym_name, "__crc_", 6) == 0)
                return 1;
        return 0;