File crash-xen-per_cpu_shift.patch of Package crash
---
ia64.c | 3 +++
symbols.c | 3 +++
x86.c | 3 +++
x86_64.c | 3 +++
4 files changed, 12 insertions(+)
--- a/ia64.c
+++ b/ia64.c
@@ -711,6 +711,9 @@ ia64_verify_symbol(const char *name, ulo
if (!name || !strlen(name))
return FALSE;
+ if (XEN_HYPER_MODE() && STREQ(name, "__per_cpu_shift"))
+ return TRUE;
+
if (CRASHDEBUG(8))
fprintf(fp, "%016lx %s\n", value, name);
--- a/symbols.c
+++ b/symbols.c
@@ -678,6 +678,9 @@ store_sysmap_symbols(void)
static ulong
relocate(ulong symval, char *symname, int first_symbol)
{
+ if (XEN_HYPER_MODE())
+ return symval;
+
switch (kt->flags & (RELOC_SET|RELOC_FORCE))
{
case RELOC_SET:
--- a/x86.c
+++ b/x86.c
@@ -3785,6 +3785,9 @@ x86_is_task_addr(ulong task)
static int
x86_verify_symbol(const char *name, ulong value, char type)
{
+ if (XEN_HYPER_MODE() && STREQ(name, "__per_cpu_shift"))
+ return TRUE;
+
if (CRASHDEBUG(8) && name && strlen(name))
fprintf(fp, "%08lx %s\n", value, name);
--- a/x86_64.c
+++ b/x86_64.c
@@ -1989,6 +1989,9 @@ x86_64_verify_symbol(const char *name, u
if (!name || !strlen(name))
return FALSE;
+ if (XEN_HYPER_MODE() && STREQ(name, "__per_cpu_shift"))
+ return TRUE;
+
if (!(machdep->flags & KSYMS_START)) {
if (STREQ(name, "_text") || STREQ(name, "_stext")) {
machdep->flags |= KSYMS_START;