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