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

Dave Anderson anderson at redhat.com
Thu Jan 29 20:56:43 UTC 2009


----- "Cliff Wickman" <cpw at sgi.com> wrote:

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

The patch looks fine (segregated), and I've queued it for the next release.

But I'm not entirely clear what you mean by the comment above?  You've
got this kerntypes object file that was created from a kernel module, and
you can load its debuginfo data individually with "mod -s module kerntypes".
What's the kludge again?

Dave

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