* objdump.c (disassemble_bytes): Don't crash if q->howto == NULL.
If q->howto->name == NULL, print q->howto->type as number instead. (dump_reloc_set): Likewise.
This commit is contained in:
parent
3b137b9a08
commit
f9ecb0a440
2 changed files with 21 additions and 13 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2005-06-09 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* objdump.c (disassemble_bytes): Don't crash if q->howto == NULL.
|
||||||
|
If q->howto->name == NULL, print q->howto->type as number instead.
|
||||||
|
(dump_reloc_set): Likewise.
|
||||||
|
|
||||||
2005-06-07 Eric Christopher <echristo@redhat.com>
|
2005-06-07 Eric Christopher <echristo@redhat.com>
|
||||||
|
|
||||||
* readelf.c (guess_is_rela): Support ms1.
|
* readelf.c (guess_is_rela): Support ms1.
|
||||||
|
|
|
@ -1570,7 +1570,12 @@ disassemble_bytes (struct disassemble_info * info,
|
||||||
objdump_print_value (section->vma - rel_offset + q->address,
|
objdump_print_value (section->vma - rel_offset + q->address,
|
||||||
info, TRUE);
|
info, TRUE);
|
||||||
|
|
||||||
printf (": %s\t", q->howto->name);
|
if (q->howto == NULL)
|
||||||
|
printf (": *unknown*\t");
|
||||||
|
else if (q->howto->name)
|
||||||
|
printf (": %s\t", q->howto->name);
|
||||||
|
else
|
||||||
|
printf (": %d\t", q->howto->type);
|
||||||
|
|
||||||
if (q->sym_ptr_ptr == NULL || *q->sym_ptr_ptr == NULL)
|
if (q->sym_ptr_ptr == NULL || *q->sym_ptr_ptr == NULL)
|
||||||
printf ("*unknown*");
|
printf ("*unknown*");
|
||||||
|
@ -2465,23 +2470,20 @@ dump_reloc_set (bfd *abfd, asection *sec, arelent **relpp, long relcount)
|
||||||
section_name = NULL;
|
section_name = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bfd_printf_vma (abfd, q->address);
|
||||||
|
if (q->howto == NULL)
|
||||||
|
printf (" *unknown* ");
|
||||||
|
else if (q->howto->name)
|
||||||
|
printf (" %-16s ", q->howto->name);
|
||||||
|
else
|
||||||
|
printf (" %-16d ", q->howto->type);
|
||||||
if (sym_name)
|
if (sym_name)
|
||||||
{
|
objdump_print_symname (abfd, NULL, *q->sym_ptr_ptr);
|
||||||
bfd_printf_vma (abfd, q->address);
|
|
||||||
if (q->howto->name)
|
|
||||||
printf (" %-16s ", q->howto->name);
|
|
||||||
else
|
|
||||||
printf (" %-16d ", q->howto->type);
|
|
||||||
objdump_print_symname (abfd, NULL, *q->sym_ptr_ptr);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (section_name == NULL)
|
if (section_name == NULL)
|
||||||
section_name = "*unknown*";
|
section_name = "*unknown*";
|
||||||
bfd_printf_vma (abfd, q->address);
|
printf ("[%s]", section_name);
|
||||||
printf (" %-16s [%s]",
|
|
||||||
q->howto->name,
|
|
||||||
section_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (q->addend)
|
if (q->addend)
|
||||||
|
|
Loading…
Reference in a new issue