[Crash-utility] [PATCH] crash: load of module types LKCD_KERNTYPES

Cliff Wickman cpw at sgi.com
Thu Jan 29 19:26:00 UTC 2009




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 <cpw at sgi.com>

---
 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)




More information about the Crash-utility mailing list