This patch allows additional kerntypes files to be loaded as module
debuginfo (namelist) files.

It's a bit of a kludge, as sym -s module <file> still requires
that these types be associated with a loaded module. (but its use
would only be desirable when there are loaded modules, so that
restriction should not be a problem)

Tested against a live 2.6.27 kernel.
Diffed against crash-4.0-7.6

Signed-off-by: Cliff Wickman <[email protected]>

---
 symbols.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Index: crash-4.0-7.6.ia64/symbols.c
===================================================================
--- crash-4.0-7.6.ia64.orig/symbols.c
+++ crash-4.0-7.6.ia64/symbols.c
@@ -7992,8 +7992,12 @@ load_module_symbols(char *modref, char *
                error(FATAL, "cannot determine object file format: %s\n",
                        namelist);
 
-        if (!(bfd_get_file_flags(mbfd) & HAS_SYMS)) 
-               error(FATAL, "no symbols in object file: %s\n", namelist);
+       if (LKCD_KERNTYPES() && file_elf_version(namelist) == EV_DWARFEXTRACT) {
+               goto add_symbols; /* no symbols, add the debuginfo */
+       }
+
+       if (!(bfd_get_file_flags(mbfd) & HAS_SYMS))
+               error(FATAL, "no symbols in object file: %s\n", namelist);
 
        symcount = bfd_read_minisymbols(mbfd, FALSE, &minisyms, &size);
        if (symcount < 0)

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to