diff options
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r-- | binutils/dwarf.c | 229 |
1 files changed, 113 insertions, 116 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c index e2e85bc..eb6c2d7 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -438,23 +438,23 @@ static abbrev_entry *last_abbrev = NULL; static void free_abbrevs (void) { - abbrev_entry *abbrev; + abbrev_entry *abbrv; - for (abbrev = first_abbrev; abbrev;) + for (abbrv = first_abbrev; abbrv;) { - abbrev_entry *next = abbrev->next; + abbrev_entry *next_abbrev = abbrv->next; abbrev_attr *attr; - for (attr = abbrev->first_attr; attr;) + for (attr = abbrv->first_attr; attr;) { - abbrev_attr *next = attr->next; + abbrev_attr *next_attr = attr->next; free (attr); - attr = next; + attr = next_attr; } - free (abbrev); - abbrev = next; + free (abbrv); + abbrv = next_abbrev; } last_abbrev = first_abbrev = NULL; @@ -1355,19 +1355,19 @@ read_and_display_attr_value (unsigned long attribute, if (form == DW_FORM_data4 || form == DW_FORM_data8) { /* Process location list. */ - unsigned int max = debug_info_p->max_loc_offsets; + unsigned int lmax = debug_info_p->max_loc_offsets; unsigned int num = debug_info_p->num_loc_offsets; - if (max == 0 || num >= max) + if (lmax == 0 || num >= lmax) { - max += 1024; + lmax += 1024; debug_info_p->loc_offsets = (long unsigned int *) xcrealloc (debug_info_p->loc_offsets, - max, sizeof (*debug_info_p->loc_offsets)); + lmax, sizeof (*debug_info_p->loc_offsets)); debug_info_p->have_frame_base = (int *) xcrealloc (debug_info_p->have_frame_base, - max, sizeof (*debug_info_p->have_frame_base)); - debug_info_p->max_loc_offsets = max; + lmax, sizeof (*debug_info_p->have_frame_base)); + debug_info_p->max_loc_offsets = lmax; } debug_info_p->loc_offsets [num] = uvalue; debug_info_p->have_frame_base [num] = have_frame_base; @@ -1384,16 +1384,16 @@ read_and_display_attr_value (unsigned long attribute, if (form == DW_FORM_data4 || form == DW_FORM_data8) { /* Process range list. */ - unsigned int max = debug_info_p->max_range_lists; + unsigned int lmax = debug_info_p->max_range_lists; unsigned int num = debug_info_p->num_range_lists; - if (max == 0 || num >= max) + if (lmax == 0 || num >= lmax) { - max += 1024; + lmax += 1024; debug_info_p->range_lists = (long unsigned int *) xcrealloc (debug_info_p->range_lists, - max, sizeof (*debug_info_p->range_lists)); - debug_info_p->max_range_lists = max; + lmax, sizeof (*debug_info_p->range_lists)); + debug_info_p->max_range_lists = lmax; } debug_info_p->range_lists [num] = uvalue; debug_info_p->num_range_lists++; @@ -2226,7 +2226,7 @@ display_debug_lines_raw (struct dwarf_section *section, while (data < end) { - DWARF2_Internal_LineInfo info; + DWARF2_Internal_LineInfo linfo; unsigned char *standard_opcodes; unsigned char *end_of_sequence; unsigned char *hdrptr; @@ -2239,13 +2239,13 @@ display_debug_lines_raw (struct dwarf_section *section, hdroff = hdrptr - start; /* Check the length of the block. */ - info.li_length = byte_get (hdrptr, 4); + linfo.li_length = byte_get (hdrptr, 4); hdrptr += 4; - if (info.li_length == 0xffffffff) + if (linfo.li_length == 0xffffffff) { /* This section is 64-bit DWARF 3. */ - info.li_length = byte_get (hdrptr, 8); + linfo.li_length = byte_get (hdrptr, 8); hdrptr += 8; offset_size = 8; initial_length_size = 12; @@ -2256,7 +2256,7 @@ display_debug_lines_raw (struct dwarf_section *section, initial_length_size = 4; } - if (info.li_length + initial_length_size > section->size) + if (linfo.li_length + initial_length_size > section->size) { warn (_("The information in section %s appears to be corrupt - the section is too small\n"), @@ -2265,55 +2265,55 @@ display_debug_lines_raw (struct dwarf_section *section, } /* Check its version number. */ - info.li_version = byte_get (hdrptr, 2); + linfo.li_version = byte_get (hdrptr, 2); hdrptr += 2; - if (info.li_version != 2 && info.li_version != 3) + if (linfo.li_version != 2 && linfo.li_version != 3) { warn (_("Only DWARF version 2 and 3 line info is currently supported.\n")); return 0; } - info.li_prologue_length = byte_get (hdrptr, offset_size); + linfo.li_prologue_length = byte_get (hdrptr, offset_size); hdrptr += offset_size; - info.li_min_insn_length = byte_get (hdrptr, 1); + linfo.li_min_insn_length = byte_get (hdrptr, 1); hdrptr++; - info.li_default_is_stmt = byte_get (hdrptr, 1); + linfo.li_default_is_stmt = byte_get (hdrptr, 1); hdrptr++; - info.li_line_base = byte_get (hdrptr, 1); + linfo.li_line_base = byte_get (hdrptr, 1); hdrptr++; - info.li_line_range = byte_get (hdrptr, 1); + linfo.li_line_range = byte_get (hdrptr, 1); hdrptr++; - info.li_opcode_base = byte_get (hdrptr, 1); + linfo.li_opcode_base = byte_get (hdrptr, 1); hdrptr++; /* Sign extend the line base field. */ - info.li_line_base <<= 24; - info.li_line_base >>= 24; + linfo.li_line_base <<= 24; + linfo.li_line_base >>= 24; printf (_(" Offset: 0x%lx\n"), hdroff); - printf (_(" Length: %ld\n"), info.li_length); - printf (_(" DWARF Version: %d\n"), info.li_version); - printf (_(" Prologue Length: %d\n"), info.li_prologue_length); - printf (_(" Minimum Instruction Length: %d\n"), info.li_min_insn_length); - printf (_(" Initial value of 'is_stmt': %d\n"), info.li_default_is_stmt); - printf (_(" Line Base: %d\n"), info.li_line_base); - printf (_(" Line Range: %d\n"), info.li_line_range); - printf (_(" Opcode Base: %d\n"), info.li_opcode_base); + printf (_(" Length: %ld\n"), linfo.li_length); + printf (_(" DWARF Version: %d\n"), linfo.li_version); + printf (_(" Prologue Length: %d\n"), linfo.li_prologue_length); + printf (_(" Minimum Instruction Length: %d\n"), linfo.li_min_insn_length); + printf (_(" Initial value of 'is_stmt': %d\n"), linfo.li_default_is_stmt); + printf (_(" Line Base: %d\n"), linfo.li_line_base); + printf (_(" Line Range: %d\n"), linfo.li_line_range); + printf (_(" Opcode Base: %d\n"), linfo.li_opcode_base); - end_of_sequence = data + info.li_length + initial_length_size; + end_of_sequence = data + linfo.li_length + initial_length_size; - reset_state_machine (info.li_default_is_stmt); + reset_state_machine (linfo.li_default_is_stmt); /* Display the contents of the Opcodes table. */ standard_opcodes = hdrptr; printf (_("\n Opcodes:\n")); - for (i = 1; i < info.li_opcode_base; i++) + for (i = 1; i < linfo.li_opcode_base; i++) printf (_(" Opcode %d has %d args\n"), i, standard_opcodes[i - 1]); /* Display the contents of the Directory table. */ - data = standard_opcodes + info.li_opcode_base - 1; + data = standard_opcodes + linfo.li_opcode_base - 1; if (*data == 0) printf (_("\n The Directory Table is empty.\n")); @@ -2375,14 +2375,14 @@ display_debug_lines_raw (struct dwarf_section *section, op_code = *data++; - if (op_code >= info.li_opcode_base) + if (op_code >= linfo.li_opcode_base) { - op_code -= info.li_opcode_base; - uladv = (op_code / info.li_line_range) * info.li_min_insn_length; + op_code -= linfo.li_opcode_base; + uladv = (op_code / linfo.li_line_range) * linfo.li_min_insn_length; state_machine_regs.address += uladv; printf (_(" Special opcode %d: advance Address by %lu to 0x%lx"), op_code, uladv, state_machine_regs.address); - adv = (op_code % info.li_line_range) + info.li_line_base; + adv = (op_code % linfo.li_line_range) + linfo.li_line_base; state_machine_regs.line += adv; printf (_(" and Line by %d to %d\n"), adv, state_machine_regs.line); @@ -2390,7 +2390,7 @@ display_debug_lines_raw (struct dwarf_section *section, else switch (op_code) { case DW_LNS_extended_op: - data += process_extended_line_op (data, info.li_default_is_stmt); + data += process_extended_line_op (data, linfo.li_default_is_stmt); break; case DW_LNS_copy: @@ -2399,7 +2399,7 @@ display_debug_lines_raw (struct dwarf_section *section, case DW_LNS_advance_pc: uladv = read_leb128 (data, & bytes_read, 0); - uladv *= info.li_min_insn_length; + uladv *= linfo.li_min_insn_length; data += bytes_read; state_machine_regs.address += uladv; printf (_(" Advance PC by %lu to 0x%lx\n"), uladv, @@ -2442,8 +2442,8 @@ display_debug_lines_raw (struct dwarf_section *section, break; case DW_LNS_const_add_pc: - uladv = (((255 - info.li_opcode_base) / info.li_line_range) - * info.li_min_insn_length); + uladv = (((255 - linfo.li_opcode_base) / linfo.li_line_range) + * linfo.li_min_insn_length); state_machine_regs.address += uladv; printf (_(" Advance PC by constant %lu to 0x%lx\n"), uladv, state_machine_regs.address); @@ -2511,7 +2511,7 @@ display_debug_lines_decoded (struct dwarf_section *section, while (data < end) { /* This loop amounts to one iteration per compilation unit. */ - DWARF2_Internal_LineInfo info; + DWARF2_Internal_LineInfo linfo; unsigned char *standard_opcodes; unsigned char *end_of_sequence; unsigned char *hdrptr; @@ -2528,13 +2528,13 @@ display_debug_lines_decoded (struct dwarf_section *section, (section 6.2.4 in the Dwarf3 doc). */ /* Get the length of this CU's line number information block. */ - info.li_length = byte_get (hdrptr, 4); + linfo.li_length = byte_get (hdrptr, 4); hdrptr += 4; - if (info.li_length == 0xffffffff) + if (linfo.li_length == 0xffffffff) { /* This section is 64-bit DWARF 3. */ - info.li_length = byte_get (hdrptr, 8); + linfo.li_length = byte_get (hdrptr, 8); hdrptr += 8; offset_size = 8; initial_length_size = 12; @@ -2545,7 +2545,7 @@ display_debug_lines_decoded (struct dwarf_section *section, initial_length_size = 4; } - if (info.li_length + initial_length_size > section->size) + if (linfo.li_length + initial_length_size > section->size) { warn (_("The line info appears to be corrupt - " "the section is too small\n")); @@ -2553,47 +2553,46 @@ display_debug_lines_decoded (struct dwarf_section *section, } /* Get this CU's Line Number Block version number. */ - info.li_version = byte_get (hdrptr, 2); + linfo.li_version = byte_get (hdrptr, 2); hdrptr += 2; - if (info.li_version != 2 && info.li_version != 3) + if (linfo.li_version != 2 && linfo.li_version != 3) { warn (_("Only DWARF version 2 and 3 line info is currently " "supported.\n")); return 0; } - info.li_prologue_length = byte_get (hdrptr, offset_size); + linfo.li_prologue_length = byte_get (hdrptr, offset_size); hdrptr += offset_size; - info.li_min_insn_length = byte_get (hdrptr, 1); + linfo.li_min_insn_length = byte_get (hdrptr, 1); hdrptr++; - info.li_default_is_stmt = byte_get (hdrptr, 1); + linfo.li_default_is_stmt = byte_get (hdrptr, 1); hdrptr++; - info.li_line_base = byte_get (hdrptr, 1); + linfo.li_line_base = byte_get (hdrptr, 1); hdrptr++; - info.li_line_range = byte_get (hdrptr, 1); + linfo.li_line_range = byte_get (hdrptr, 1); hdrptr++; - info.li_opcode_base = byte_get (hdrptr, 1); + linfo.li_opcode_base = byte_get (hdrptr, 1); hdrptr++; /* Sign extend the line base field. */ - info.li_line_base <<= 24; - info.li_line_base >>= 24; + linfo.li_line_base <<= 24; + linfo.li_line_base >>= 24; /* Find the end of this CU's Line Number Information Block. */ - end_of_sequence = data + info.li_length + initial_length_size; + end_of_sequence = data + linfo.li_length + initial_length_size; - reset_state_machine (info.li_default_is_stmt); + reset_state_machine (linfo.li_default_is_stmt); /* Save a pointer to the contents of the Opcodes table. */ standard_opcodes = hdrptr; /* Traverse the Directory table just to count entries. */ - data = standard_opcodes + info.li_opcode_base - 1; + data = standard_opcodes + linfo.li_opcode_base - 1; if (*data != 0) { unsigned int n_directories = 0; unsigned char *ptr_directory_table = data; - int i; while (*data != 0) { @@ -2621,7 +2620,6 @@ display_debug_lines_decoded (struct dwarf_section *section, { unsigned int n_files = 0; unsigned char *ptr_file_name_table = data; - int i; while (*data != 0) { @@ -2700,13 +2698,13 @@ display_debug_lines_decoded (struct dwarf_section *section, op_code = *data++; prev_line = state_machine_regs.line; - if (op_code >= info.li_opcode_base) + if (op_code >= linfo.li_opcode_base) { - op_code -= info.li_opcode_base; - uladv = (op_code / info.li_line_range) * info.li_min_insn_length; + op_code -= linfo.li_opcode_base; + uladv = (op_code / linfo.li_line_range) * linfo.li_min_insn_length; state_machine_regs.address += uladv; - adv = (op_code % info.li_line_range) + info.li_line_base; + adv = (op_code % linfo.li_line_range) + linfo.li_line_base; state_machine_regs.line += adv; is_special_opcode = 1; } @@ -2715,7 +2713,6 @@ display_debug_lines_decoded (struct dwarf_section *section, case DW_LNS_extended_op: { unsigned int ext_op_code_len; - unsigned int bytes_read; unsigned char ext_op_code; unsigned char *op_code_data = data; @@ -2733,7 +2730,7 @@ display_debug_lines_decoded (struct dwarf_section *section, switch (ext_op_code) { case DW_LNE_end_sequence: - reset_state_machine (info.li_default_is_stmt); + reset_state_machine (linfo.li_default_is_stmt); break; case DW_LNE_set_address: state_machine_regs.address = @@ -2766,7 +2763,7 @@ display_debug_lines_decoded (struct dwarf_section *section, case DW_LNS_advance_pc: uladv = read_leb128 (data, & bytes_read, 0); - uladv *= info.li_min_insn_length; + uladv *= linfo.li_min_insn_length; data += bytes_read; state_machine_regs.address += uladv; break; @@ -2813,8 +2810,8 @@ display_debug_lines_decoded (struct dwarf_section *section, break; case DW_LNS_const_add_pc: - uladv = (((255 - info.li_opcode_base) / info.li_line_range) - * info.li_min_insn_length); + uladv = (((255 - linfo.li_opcode_base) / linfo.li_line_range) + * linfo.li_min_insn_length); state_machine_regs.address += uladv; break; @@ -2949,7 +2946,7 @@ static int display_debug_pubnames (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) { - DWARF2_Internal_PubNames pubnames; + DWARF2_Internal_PubNames names; unsigned char *start = section->start; unsigned char *end = start + section->size; @@ -2967,11 +2964,11 @@ display_debug_pubnames (struct dwarf_section *section, data = start; - pubnames.pn_length = byte_get (data, 4); + names.pn_length = byte_get (data, 4); data += 4; - if (pubnames.pn_length == 0xffffffff) + if (names.pn_length == 0xffffffff) { - pubnames.pn_length = byte_get (data, 8); + names.pn_length = byte_get (data, 8); data += 8; offset_size = 8; initial_length_size = 12; @@ -2982,24 +2979,24 @@ display_debug_pubnames (struct dwarf_section *section, initial_length_size = 4; } - pubnames.pn_version = byte_get (data, 2); + names.pn_version = byte_get (data, 2); data += 2; - pubnames.pn_offset = byte_get (data, offset_size); + names.pn_offset = byte_get (data, offset_size); data += offset_size; if (num_debug_info_entries != DEBUG_INFO_UNAVAILABLE && num_debug_info_entries > 0 - && find_debug_info_for_offset (pubnames.pn_offset) == NULL) + && find_debug_info_for_offset (names.pn_offset) == NULL) warn (_(".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"), - pubnames.pn_offset, section->name); + names.pn_offset, section->name); - pubnames.pn_size = byte_get (data, offset_size); + names.pn_size = byte_get (data, offset_size); data += offset_size; - start += pubnames.pn_length + initial_length_size; + start += names.pn_length + initial_length_size; - if (pubnames.pn_version != 2 && pubnames.pn_version != 3) + if (names.pn_version != 2 && names.pn_version != 3) { static int warned = 0; @@ -3013,13 +3010,13 @@ display_debug_pubnames (struct dwarf_section *section, } printf (_(" Length: %ld\n"), - pubnames.pn_length); + names.pn_length); printf (_(" Version: %d\n"), - pubnames.pn_version); + names.pn_version); printf (_(" Offset into .debug_info section: 0x%lx\n"), - pubnames.pn_offset); + names.pn_offset); printf (_(" Size of area in .debug_info section: %ld\n"), - pubnames.pn_size); + names.pn_size); printf (_("\n Offset\tName\n")); @@ -3464,7 +3461,7 @@ display_debug_aranges (struct dwarf_section *section, { unsigned char *hdrptr; DWARF2_Internal_ARange arange; - unsigned char *ranges; + unsigned char *addr_ranges; dwarf_vma length; dwarf_vma address; unsigned char address_size; @@ -3536,24 +3533,24 @@ display_debug_aranges (struct dwarf_section *section, else printf (_("\n Address Length\n")); - ranges = hdrptr; + addr_ranges = hdrptr; /* Must pad to an alignment boundary that is twice the address size. */ excess = (hdrptr - start) % (2 * address_size); if (excess) - ranges += (2 * address_size) - excess; + addr_ranges += (2 * address_size) - excess; start += arange.ar_length + initial_length_size; - while (ranges + 2 * address_size <= start) + while (addr_ranges + 2 * address_size <= start) { - address = byte_get (ranges, address_size); + address = byte_get (addr_ranges, address_size); - ranges += address_size; + addr_ranges += address_size; - length = byte_get (ranges, address_size); + length = byte_get (addr_ranges, address_size); - ranges += address_size; + addr_ranges += address_size; printf (" "); print_dwarf_vma (address, address_size); @@ -3880,11 +3877,11 @@ frame_display_row (Frame_Chunk *fc, int *need_col_headers, int *max_regs) if (*need_col_headers) { - static const char *loc = " LOC"; + static const char *sloc = " LOC"; *need_col_headers = 0; - printf ("%-*s CFA ", eh_addr_size * 2, loc); + printf ("%-*s CFA ", eh_addr_size * 2, sloc); for (r = 0; r < *max_regs; r++) if (fc->col_type[r] != DW_CFA_unreferenced) @@ -4218,7 +4215,7 @@ display_debug_frames (struct dwarf_section *section, while (start < block_end) { unsigned op, opa; - unsigned long reg, tmp; + unsigned long reg, temp; op = *start++; opa = op & 0x3f; @@ -4289,14 +4286,14 @@ display_debug_frames (struct dwarf_section *section, LEB (); break; case DW_CFA_def_cfa_expression: - tmp = LEB (); - start += tmp; + temp = LEB (); + start += temp; break; case DW_CFA_expression: case DW_CFA_val_expression: reg = LEB (); - tmp = LEB (); - start += tmp; + temp = LEB (); + start += temp; if (frame_need_space (fc, reg) >= 0) fc->col_type[reg] = DW_CFA_undefined; break; @@ -4918,10 +4915,10 @@ dwarf_select_sections_by_names (const char *names) void dwarf_select_sections_by_letters (const char *letters) { - unsigned int index = 0; + unsigned int lindex = 0; - while (letters[index]) - switch (letters[index++]) + while (letters[lindex]) + switch (letters[lindex++]) { case 'i': do_debug_info = 1; |