From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: gdb-patches@sources.redhat.com Subject: PATCH: minor cleanup to dwarf2read.c Date: Wed, 04 Jul 2001 09:11:00 -0000 Message-id: <20010704161229.479065E9D8@zwingli.cygnus.com> X-SW-Source: 2001-07/msg00043.html (I'm reading dwarf2read over to try to get a handle on what we need for C++, and so I can do a decent job evaluating Daniel's patch. As I'm doing this, I'm fixing minor things I see (and ignoring larger problems). If this ends up producing gratuitous conflicts with Daniel's changes, I'll take care of cleaning it up.) 2001-07-04 Jim Blandy * dwarf2read.c (struct partial_die_info): New member: has_pc_info. (read_partial_die): Delete fourth argument; we return this info in the struct partial_die_info object itself now. (dwarf2_build_psymtabs_hard, scan_partial_symbols): Use the has_pc_info field of the partial die struct, rather than passing a variable by reference to read_partial_die. Index: gdb/dwarf2read.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2read.c,v retrieving revision 1.26 diff -c -r1.26 dwarf2read.c *** gdb/dwarf2read.c 2001/07/02 17:43:07 1.26 --- gdb/dwarf2read.c 2001/07/04 15:58:14 *************** *** 194,199 **** --- 194,200 ---- unsigned int offset; unsigned int abbrev; char *name; + int has_pc_info; CORE_ADDR lowpc; CORE_ADDR highpc; struct dwarf_block *locdesc; *************** *** 586,592 **** static struct abbrev_info *dwarf2_lookup_abbrev (unsigned int); static char *read_partial_die (struct partial_die_info *, ! bfd *, char *, int *, const struct comp_unit_head *); static char *read_full_die (struct die_info **, bfd *, char *, --- 587,593 ---- static struct abbrev_info *dwarf2_lookup_abbrev (unsigned int); static char *read_partial_die (struct partial_die_info *, ! bfd *, char *, const struct comp_unit_head *); static char *read_full_die (struct die_info **, bfd *, char *, *************** *** 971,977 **** struct partial_die_info comp_unit_die; struct partial_symtab *pst; struct cleanup *back_to; - int comp_unit_has_pc_info; CORE_ADDR lowpc, highpc; info_ptr = dwarf_info_buffer; --- 972,977 ---- *************** *** 1013,1019 **** /* Read the compilation unit die */ info_ptr = read_partial_die (&comp_unit_die, abfd, info_ptr, ! &comp_unit_has_pc_info, &cu_header); /* Set the language we're debugging */ set_cu_language (comp_unit_die.language); --- 1013,1019 ---- /* Read the compilation unit die */ info_ptr = read_partial_die (&comp_unit_die, abfd, info_ptr, ! &cu_header); /* Set the language we're debugging */ set_cu_language (comp_unit_die.language); *************** *** 1048,1054 **** /* If the compilation unit didn't have an explicit address range, then use the information extracted from its child dies. */ ! if (!comp_unit_has_pc_info) { comp_unit_die.lowpc = lowpc; comp_unit_die.highpc = highpc; --- 1048,1054 ---- /* If the compilation unit didn't have an explicit address range, then use the information extracted from its child dies. */ ! if (! comp_unit_die.has_pc_info) { comp_unit_die.lowpc = lowpc; comp_unit_die.highpc = highpc; *************** *** 1091,1112 **** back to that level. */ int nesting_level = 1; - int has_pc_info; *lowpc = ((CORE_ADDR) -1); *highpc = ((CORE_ADDR) 0); while (nesting_level) { ! info_ptr = read_partial_die (&pdi, abfd, info_ptr, ! &has_pc_info, cu_header); if (pdi.name) { switch (pdi.tag) { case DW_TAG_subprogram: ! if (has_pc_info) { if (pdi.lowpc < *lowpc) { --- 1091,1110 ---- back to that level. */ int nesting_level = 1; *lowpc = ((CORE_ADDR) -1); *highpc = ((CORE_ADDR) 0); while (nesting_level) { ! info_ptr = read_partial_die (&pdi, abfd, info_ptr, cu_header); if (pdi.name) { switch (pdi.tag) { case DW_TAG_subprogram: ! if (pdi.has_pc_info) { if (pdi.lowpc < *lowpc) { *************** *** 3124,3131 **** static char * read_partial_die (struct partial_die_info *part_die, bfd *abfd, ! char *info_ptr, int *has_pc_info, ! const struct comp_unit_head *cu_header) { unsigned int abbrev_number, bytes_read, i; struct abbrev_info *abbrev; --- 3122,3128 ---- static char * read_partial_die (struct partial_die_info *part_die, bfd *abfd, ! char *info_ptr, const struct comp_unit_head *cu_header) { unsigned int abbrev_number, bytes_read, i; struct abbrev_info *abbrev; *************** *** 3136,3142 **** int has_high_pc_attr = 0; *part_die = zeroed_partial_die; - *has_pc_info = 0; abbrev_number = read_unsigned_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; if (!abbrev_number) --- 3133,3138 ---- *************** *** 3222,3228 **** int dummy; spec_ptr = dwarf_info_buffer + dwarf2_get_ref_die_offset (&spec_attr); ! read_partial_die (&spec_die, abfd, spec_ptr, &dummy, cu_header); if (spec_die.name) { part_die->name = spec_die.name; --- 3218,3224 ---- int dummy; spec_ptr = dwarf_info_buffer + dwarf2_get_ref_die_offset (&spec_attr); ! read_partial_die (&spec_die, abfd, spec_ptr, cu_header); if (spec_die.name) { part_die->name = spec_die.name; *************** *** 3245,3251 **** && part_die->lowpc < part_die->highpc && (part_die->lowpc != 0 || (bfd_get_file_flags (abfd) & HAS_RELOC))) ! *has_pc_info = 1; return info_ptr; } --- 3241,3247 ---- && part_die->lowpc < part_die->highpc && (part_die->lowpc != 0 || (bfd_get_file_flags (abfd) & HAS_RELOC))) ! part_die->has_pc_info = 1; return info_ptr; }