summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJeremy Fitzhardinge2007-07-18 03:37:07 +0200
committerJeremy Fitzhardinge2007-07-18 17:47:45 +0200
commit600b2fc242992e552e0b4e24c8c1f084b341f39b (patch)
tree95aefb763c09054c5695fb1d14ad9fb86191a637 /arch
parentxen: Attempt to patch inline versions of common operations (diff)
downloadkernel-qcow2-linux-600b2fc242992e552e0b4e24c8c1f084b341f39b.tar.gz
kernel-qcow2-linux-600b2fc242992e552e0b4e24c8c1f084b341f39b.tar.xz
kernel-qcow2-linux-600b2fc242992e552e0b4e24c8c1f084b341f39b.zip
xen: suppress abs symbol warnings for unused reloc pointers
arch/i386/xen/xen-asm.S defines some small pieces of code which are used to implement a few paravirt_ops. They're designed so they can be used either in-place, or be inline patched into their callsites if there's enough space. Some of those operations need to make calls out (specifically, if you re-enable events [interrupts], and there's a pending event at that time). These calls need the call instruction to be relocated if the code is patched inline. In this case xen_foo_reloc is a section-relative symbol which points to xen_foo's required relocation. Other operations have no need of a relocation, and so their corresponding xen_bar_reloc is absolute 0. These are the cases which are triggering the warning. This patch adds those symbols to the list of safe abs symbols. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Adrian Bunk <bunk@stusta.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/boot/compressed/relocs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/i386/boot/compressed/relocs.c b/arch/i386/boot/compressed/relocs.c
index ce4fda261aaf..b0e21c3cee5c 100644
--- a/arch/i386/boot/compressed/relocs.c
+++ b/arch/i386/boot/compressed/relocs.c
@@ -31,6 +31,8 @@ static const char* safe_abs_relocs[] = {
"__kernel_rt_sigreturn",
"__kernel_sigreturn",
"SYSENTER_RETURN",
+ "xen_irq_disable_direct_reloc",
+ "xen_save_fl_direct_reloc",
};
static int is_safe_abs_reloc(const char* sym_name)