* dwarf.c (is_relocatable): Remove definition.

(display_debug_frames): Remove check in is_relocatable.
* dwarf.h (is_relocatable): Remove declaration.
* objdump.c (is_relocatable): New static definition.
* readelf.c (dump_relocations): Make the function void.
  (is_32bit_abs_reloc): Add support for x86, Arc, Arm, D10V, Dlx, OR32 and Score.
  (is_32bit_pcrel_reloc): Add support for x86 and Arm.
  (is_16bit_abs_reloc): Add support for D10V.
  (debug_apply_rela_addends): Rename to debug_apply_relocations.
  Add code to support rel relocations.
  (load_debug_section): Fix call to debug_apply_relocations.
  (get_file_header): Remove setting of is_relocatable.
* gas/cfi/cfi-common-6.d: Allow for possible relocation of the .debug.eh_frame section.
This commit is contained in:
Nick Clifton
2007-10-31 16:09:53 +00:00
parent 0879078470
commit 41e9264106
7 changed files with 114 additions and 61 deletions

View File

@ -36,7 +36,6 @@ static unsigned int num_debug_info_entries = 0;
static debug_info *debug_information = NULL;
dwarf_vma eh_addr_size;
int is_relocatable;
int do_debug_info;
int do_debug_abbrevs;
@ -3184,11 +3183,7 @@ display_debug_frames (struct dwarf_section *section,
encoded_ptr_size = size_of_encoded_value (fc->fde_encoding);
fc->pc_begin = get_encoded_value (start, fc->fde_encoding);
if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel
/* Don't adjust for relocatable file since there's
invariably a pcrel reloc here, which we haven't
applied. */
&& !is_relocatable)
if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel)
fc->pc_begin += section->address + (start - section_start);
start += encoded_ptr_size;
fc->pc_range = byte_get (start, encoded_ptr_size);
@ -3391,8 +3386,7 @@ display_debug_frames (struct dwarf_section *section,
case DW_CFA_set_loc:
vma = get_encoded_value (start, fc->fde_encoding);
if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel
&& !is_relocatable)
if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel)
vma += section->address + (start - section_start);
start += encoded_ptr_size;
if (do_debug_frames_interp)