[Crash-utility] ARM support for CONFIG_SPARSEMEM:(wasRe:DDimage)

Dave Anderson anderson at redhat.com
Tue Jun 21 13:17:22 UTC 2011



----- Original Message -----
> >>>But it only happens when I use KDUMP format instead of NETDUMP_ELF32.
> I cannot reconfirm this. Please forget about it.

Yes, that's right -- the old NETDUMP_ELF32 format only contained one PT_LOAD
segment, so you'll have to make the minor adjustments to make it KDUMP_ELF32.

> I forgot to mention one thing. I had to remove the following line from
> symbol.c as my target is non-SMP
> 1413: lm->mod_percpu = ULONG(modbuf + OFFSET(module_percpu));
> I hope you will find a better way.
> 
> Best Regards,
> 
> Takuo

Try this:

--- symbols.c   7 Jun 2011 14:35:36 -0000       1.238
+++ symbols.c   21 Jun 2011 13:09:12 -0000
@@ -1410,7 +1410,8 @@
                lm->mod_ext_symcnt = mcnt;
                lm->mod_init_module_ptr = ULONG(modbuf + 
                        OFFSET(module_module_init));
-               lm->mod_percpu = ULONG(modbuf + OFFSET(module_percpu));
+               if (VALID_MEMBER(module_percpu))
+                       lm->mod_percpu = ULONG(modbuf + OFFSET(module_percpu));
                if (THIS_KERNEL_VERSION >= LINUX(2,6,27)) {
                        lm->mod_etext_guess = lm->mod_base +
                                UINT(modbuf + OFFSET(module_core_text_size));

Although I don't see the module.percpu member surrounded by #ifdef CONFIG_SMP
in the upstream or older kernels.  What does the module structure look like in
your kernel sources?

Dave




More information about the Crash-utility mailing list