* objdump.c (struct objdump_disasm_info): Add field require_sec.

(objdump_print_address): If aux->require_sec, require that the
	symbol be in aux->sec even if HAS_RELOC is not set.
	(disassemble_data): Set aux.require_sec around the
	objdump_print_address call for the instruction address.
PR 3441.
This commit is contained in:
Ian Lance Taylor 1994-09-16 15:30:38 +00:00
parent e3a58c921b
commit 8b129785e4
2 changed files with 13 additions and 1 deletions

View file

@ -1,3 +1,11 @@
Fri Sep 16 11:27:39 1994 Ian Lance Taylor (ian@sanguine.cygnus.com)
* objdump.c (struct objdump_disasm_info): Add field require_sec.
(objdump_print_address): If aux->require_sec, require that the
symbol be in aux->sec even if HAS_RELOC is not set.
(disassemble_data): Set aux.require_sec around the
objdump_print_address call for the instruction address.
Thu Sep 15 21:43:17 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* ar.c: Call xexit rather than exit.

View file

@ -58,6 +58,7 @@ char *only; /* -j secname */
struct objdump_disasm_info {
bfd *abfd;
asection *sec;
boolean require_sec;
};
/* Architecture to disassemble for, or default if NULL. */
@ -421,7 +422,8 @@ objdump_print_address (vma, info)
long i;
aux = (struct objdump_disasm_info *) info->application_data;
if ((aux->abfd->flags & HAS_RELOC)
if ((aux->require_sec
|| (aux->abfd->flags & HAS_RELOC) != 0)
&& vma >= bfd_get_section_vma (aux->abfd, aux->sec)
&& vma < (bfd_get_section_vma (aux->abfd, aux->sec)
+ bfd_get_section_size_before_reloc (aux->sec))
@ -665,7 +667,9 @@ disassemble_data (abfd)
}
}
}
aux.require_sec = true;
objdump_print_address (section->vma + i, &disasm_info);
aux.require_sec = false;
putchar (' ');
if (disassemble_fn)