[PATCH v2 4/8] makedumpfile: Introduce routines to get type name from debuginfo.
Ken'ichi Ohmichi
oomichi at mxs.nes.nec.co.jp
Thu Aug 4 20:26:59 EDT 2011
Hi Mahesh,
Thank you for your review and test.
On Thu, 04 Aug 2011 12:13:22 +0530
Mahesh Jagannath Salgaonkar <mahesh at linux.vnet.ibm.com> wrote:
>
> On 08/01/2011 06:57 AM, Ken'ichi Ohmichi wrote:
> >
> > Hi Mahesh,
> >
> > A pointer size can been gotton by sizeof(void *), and pointer (virtual
> > address) can been defined as "unsigned long".
> > I think we can make this patch simple. How about the attached patch ?
> >
>
> Yup, the patch looks simpler and good.
>
> >
> > Thanks
> > Ken'ichi Ohmichi
> >
> > diff --git a/makedumpfile.c b/makedumpfile.c
> > index 3ad2bd5..6955f64 100644
> > --- a/makedumpfile.c
> > +++ b/makedumpfile.c
> > @@ -34,7 +34,6 @@ struct erase_info *erase_info = NULL;
> > unsigned long num_erase_info = 1; /* Node 0 is unused. */
> >
> > char filename_stdout[] = FILENAME_STDOUT;
> > -long pointer_size;
> > char config_buf[BUFSIZE_FGETS];
> >
> > /*
> > @@ -2058,10 +2057,6 @@ get_debug_info(void)
> > */
> > while (dwarf_nextcu(dwarfd, off, &next_off, &header_size,
> > &abbrev_offset, &address_size, &offset_size) == 0) {
> > - if (dwarf_info.cmd == DWARF_INFO_GET_PTR_SIZE) {
> > - dwarf_info.struct_size = address_size;
> > - break;
> > - }
> > off += header_size;
> > if (dwarf_offdie(dwarfd, off, &cu_die) == NULL) {
> > ERRMSG("Can't get CU die.\n");
>
> [...]
>
> > @@ -7863,8 +7849,8 @@ print_config_entry(struct config_entry *ce)
> > DEBUG_MSG("Type Name: %s, ", ce->type_name);
> > DEBUG_MSG("flag: %x, ", ce->flag);
> > DEBUG_MSG("Type flag: %lx, ", ce->type_flag);
> > - DEBUG_MSG("sym_addr: %llx, ", ce->sym_addr);
> > - DEBUG_MSG("addr: %llx, ", ce->addr);
> > + DEBUG_MSG("sym_addr: %lx, ", ce->sym_addr);
>
> Above change throws compilation warning. The sym_addr is unsigned long
> long, %llx still holds good.
Nice catch, I fixed the above.
> > + DEBUG_MSG("addr: %lx, ", ce->addr);
> > DEBUG_MSG("offset: %lx, ", ce->offset);
> > DEBUG_MSG("size: %zd\n", ce->size);
> >
>
> [...]
>
> > @@ -1284,7 +1283,7 @@ struct config_entry {
> > unsigned short flag;
> > unsigned short nullify;
> > unsigned long long sym_addr; /* Symbol address */
> > - unsigned long long addr; /* Symbol address or
> > + unsigned long addr; /* Symbol address or
> > value pointed by sym_addr */
> > unsigned long long cmp_addr; /* for LIST_ENTRY */
> > unsigned long offset;
> >
>
> I tested this patch and works fine.
Thank you.
I have merged this patch.
Thanks
Ken'ichi Ohmichi
More information about the kexec
mailing list