bfd/
2005-08-17 H.J. Lu <hongjiu.lu@intel.com> PR binutils/1179 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma instead of vma. (_bfd_dwarf2_find_line): Likewise. binutils/ 2005-08-17 H.J. Lu <hongjiu.lu@intel.com> PR binutils/1179 * objdump.c (disassemble_bytes): Don't adjust adjust_section_vma. (adjust_addresses): Don't adjust vma for debugging section. Adjust lma only for relocatable files. (dump_bfd): Tell adjust_addresses if it is a relocatable file.
This commit is contained in:
parent
dec20c9e4d
commit
bc79cded48
4 changed files with 33 additions and 12 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2005-08-17 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR binutils/1179
|
||||||
|
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma
|
||||||
|
instead of vma.
|
||||||
|
(_bfd_dwarf2_find_line): Likewise.
|
||||||
|
|
||||||
2005-08-17 Alan Modra <amodra@bigpond.net.au>
|
2005-08-17 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section
|
* elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section
|
||||||
|
|
|
@ -2183,9 +2183,9 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
|
||||||
stash = *pinfo;
|
stash = *pinfo;
|
||||||
addr = offset;
|
addr = offset;
|
||||||
if (section->output_section)
|
if (section->output_section)
|
||||||
addr += section->output_section->vma + section->output_offset;
|
addr += section->output_section->lma + section->output_offset;
|
||||||
else
|
else
|
||||||
addr += section->vma;
|
addr += section->lma;
|
||||||
*filename_ptr = NULL;
|
*filename_ptr = NULL;
|
||||||
*functionname_ptr = NULL;
|
*functionname_ptr = NULL;
|
||||||
*linenumber_ptr = 0;
|
*linenumber_ptr = 0;
|
||||||
|
@ -2392,9 +2392,9 @@ _bfd_dwarf2_find_line (bfd *abfd,
|
||||||
|
|
||||||
addr = symbol->value;
|
addr = symbol->value;
|
||||||
if (section->output_section)
|
if (section->output_section)
|
||||||
addr += section->output_section->vma + section->output_offset;
|
addr += section->output_section->lma + section->output_offset;
|
||||||
else
|
else
|
||||||
addr += section->vma;
|
addr += section->lma;
|
||||||
|
|
||||||
*filename_ptr = NULL;
|
*filename_ptr = NULL;
|
||||||
stash = *pinfo;
|
stash = *pinfo;
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
2005-08-17 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
PR binutils/1179
|
||||||
|
* objdump.c (disassemble_bytes): Don't adjust
|
||||||
|
adjust_section_vma.
|
||||||
|
(adjust_addresses): Don't adjust vma for debugging section.
|
||||||
|
Adjust lma only for relocatable files.
|
||||||
|
(dump_bfd): Tell adjust_addresses if it is a relocatable file.
|
||||||
|
|
||||||
2005-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
2005-08-16 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* bucomm.h (stpcpy): Declare if HAVE_DECL_STPCPY isn't defined.
|
* bucomm.h (stpcpy): Declare if HAVE_DECL_STPCPY isn't defined.
|
||||||
|
|
|
@ -1354,10 +1354,7 @@ disassemble_bytes (struct disassemble_info * info,
|
||||||
done_dot = FALSE;
|
done_dot = FALSE;
|
||||||
|
|
||||||
if (with_line_numbers || with_source_code)
|
if (with_line_numbers || with_source_code)
|
||||||
/* The line number tables will refer to unadjusted
|
show_line (aux->abfd, section, addr_offset);
|
||||||
section VMAs, so we must undo any VMA modifications
|
|
||||||
when calling show_line. */
|
|
||||||
show_line (aux->abfd, section, addr_offset - adjust_section_vma);
|
|
||||||
|
|
||||||
if (! prefix_addresses)
|
if (! prefix_addresses)
|
||||||
{
|
{
|
||||||
|
@ -2600,10 +2597,15 @@ add_include_path (const char *path)
|
||||||
static void
|
static void
|
||||||
adjust_addresses (bfd *abfd ATTRIBUTE_UNUSED,
|
adjust_addresses (bfd *abfd ATTRIBUTE_UNUSED,
|
||||||
asection *section,
|
asection *section,
|
||||||
void *dummy ATTRIBUTE_UNUSED)
|
void *arg)
|
||||||
{
|
{
|
||||||
section->vma += adjust_section_vma;
|
if ((section->flags & SEC_DEBUGGING) == 0)
|
||||||
section->lma += adjust_section_vma;
|
{
|
||||||
|
bfd_boolean *has_reloc_p = (bfd_boolean *) arg;
|
||||||
|
section->vma += adjust_section_vma;
|
||||||
|
if (*has_reloc_p)
|
||||||
|
section->lma += adjust_section_vma;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dump selected contents of ABFD. */
|
/* Dump selected contents of ABFD. */
|
||||||
|
@ -2615,7 +2617,10 @@ dump_bfd (bfd *abfd)
|
||||||
the BFD information is a hack. However, we must do it, or
|
the BFD information is a hack. However, we must do it, or
|
||||||
bfd_find_nearest_line will not do the right thing. */
|
bfd_find_nearest_line will not do the right thing. */
|
||||||
if (adjust_section_vma != 0)
|
if (adjust_section_vma != 0)
|
||||||
bfd_map_over_sections (abfd, adjust_addresses, NULL);
|
{
|
||||||
|
bfd_boolean has_reloc = (abfd->flags & HAS_RELOC);
|
||||||
|
bfd_map_over_sections (abfd, adjust_addresses, &has_reloc);
|
||||||
|
}
|
||||||
|
|
||||||
if (! dump_debugging_tags)
|
if (! dump_debugging_tags)
|
||||||
printf (_("\n%s: file format %s\n"), bfd_get_filename (abfd),
|
printf (_("\n%s: file format %s\n"), bfd_get_filename (abfd),
|
||||||
|
|
Loading…
Reference in a new issue