[PATCH v2 5/8] makedumpfile: Read and process filter commands from config file.
Ken'ichi Ohmichi
oomichi at mxs.nes.nec.co.jp
Thu Aug 11 04:29:00 EDT 2011
Hi Mahesh,
On Thu, 11 Aug 2011 14:17:51 +0900
"Ken'ichi Ohmichi" <oomichi at mxs.nes.nec.co.jp> wrote:
> >
> > BTW makedumpfile.c has become a large file which is bigger than 10KLine,
> > and I will separate it to some files for the maintenance.
>
> To shrink makedumpfile.c file, I made a prototype patch.
> (commit 40f5724152047a12e4ac9db51d9f9e00e7a79ebe of filter-out-devel branch)
> And I'd like to see your opinion.
>
> You added sym_in_module() call into get_symbol_addr() to look for module
> symbol. And I will move the call to resolve_config_entry() because I guess
> sym_in_module() is used only for resolve_config_entry():
>
> @@ -8448,13 +7326,21 @@ resolve_config_entry(struct config_entry *ce, unsigned long long base_addr,
> char *base_struct_name)
> {
> char buf[BUFSIZE + 1];
> + unsigned long long symbol;
>
> if (ce->flag & SYMBOL_ENTRY) {
> /* find the symbol info */
> if (!ce->name)
> return FALSE;
>
> - ce->sym_addr = get_symbol_addr(ce->name);
> + /*
> + * If we are looking for module symbol then traverse through
> + * mod_st.modules for symbol lookup
> + */
> + if (sym_in_module(ce->name, &symbol))
> + ce->sym_addr = symbol;
> + else
> + ce->sym_addr = get_symbol_addr(ce->name);
> if (!ce->sym_addr) {
> ERRMSG("Config error at %d: Can't find symbol '%s'.\n",
> ce->line, ce->name);
> ---
Sorry, the above mail is not clear.
My question is,
Do you think this change is right ?
Thanks
Ken'ichi Ohmichi
More information about the kexec
mailing list