2003-04-30 H.J. Lu <hjl@gnu.org>
* objdump.c (only): Change it to char **. (only_size): New. (only_used): New. (disassemble_data): Check only as an array. (dump_data): Likewise. (dump_relocs): Likewise. (main): Treat only as an array.
This commit is contained in:
parent
d9a085da29
commit
6e50c90cfe
|
@ -1,3 +1,13 @@
|
||||||
|
2003-04-30 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* objdump.c (only): Change it to char **.
|
||||||
|
(only_size): New.
|
||||||
|
(only_used): New.
|
||||||
|
(disassemble_data): Check only as an array.
|
||||||
|
(dump_data): Likewise.
|
||||||
|
(dump_relocs): Likewise.
|
||||||
|
(main): Treat only as an array.
|
||||||
|
|
||||||
2003-04-24 Dimitrie O. Paun <dpaun@rogers.com>
|
2003-04-24 Dimitrie O. Paun <dpaun@rogers.com>
|
||||||
|
|
||||||
* doc/binutils.texi: Fix the documentation for the -fo option.
|
* doc/binutils.texi: Fix the documentation for the -fo option.
|
||||||
|
|
|
@ -67,7 +67,9 @@ static bfd_boolean disassemble; /* -d */
|
||||||
static bfd_boolean disassemble_all; /* -D */
|
static bfd_boolean disassemble_all; /* -D */
|
||||||
static int disassemble_zeroes; /* --disassemble-zeroes */
|
static int disassemble_zeroes; /* --disassemble-zeroes */
|
||||||
static bfd_boolean formats_info; /* -i */
|
static bfd_boolean formats_info; /* -i */
|
||||||
static char *only; /* -j secname */
|
static char **only; /* -j secname */
|
||||||
|
static size_t only_size = 0;
|
||||||
|
static size_t only_used = 0;
|
||||||
static int wide_output; /* -w */
|
static int wide_output; /* -w */
|
||||||
static bfd_vma start_address = (bfd_vma) -1; /* --start-address */
|
static bfd_vma start_address = (bfd_vma) -1; /* --start-address */
|
||||||
static bfd_vma stop_address = (bfd_vma) -1; /* --stop-address */
|
static bfd_vma stop_address = (bfd_vma) -1; /* --stop-address */
|
||||||
|
@ -1628,8 +1630,18 @@ disassemble_data (abfd)
|
||||||
&& only == NULL
|
&& only == NULL
|
||||||
&& (section->flags & SEC_CODE) == 0))
|
&& (section->flags & SEC_CODE) == 0))
|
||||||
continue;
|
continue;
|
||||||
if (only != (char *) NULL && strcmp (only, section->name) != 0)
|
|
||||||
continue;
|
if (only != NULL)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < only_used; i++)
|
||||||
|
if (strcmp (only [i], section->name) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (i == only_used)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ((section->flags & SEC_RELOC) != 0
|
if ((section->flags & SEC_RELOC) != 0
|
||||||
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
#ifndef DISASSEMBLER_NEEDS_RELOCS
|
||||||
|
@ -2221,9 +2233,13 @@ dump_data (abfd)
|
||||||
section->next)
|
section->next)
|
||||||
{
|
{
|
||||||
int onaline = 16;
|
int onaline = 16;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
if (only == (char *) NULL ||
|
for (i = 0; i < only_used; i++)
|
||||||
strcmp (only, section->name) == 0)
|
if (strcmp (only [i], section->name) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (only_used == 0 || i != only_used)
|
||||||
{
|
{
|
||||||
if (section->flags & SEC_HAS_CONTENTS)
|
if (section->flags & SEC_HAS_CONTENTS)
|
||||||
{
|
{
|
||||||
|
@ -2286,7 +2302,7 @@ dump_data (abfd)
|
||||||
|
|
||||||
bfd_sprintf_vma (abfd, buf, (addr_offset + section->vma));
|
bfd_sprintf_vma (abfd, buf, (addr_offset + section->vma));
|
||||||
count = strlen (buf);
|
count = strlen (buf);
|
||||||
if (count >= sizeof (buf))
|
if ((size_t) count >= sizeof (buf))
|
||||||
abort ();
|
abort ();
|
||||||
putchar (' ');
|
putchar (' ');
|
||||||
while (count < width)
|
while (count < width)
|
||||||
|
@ -2411,7 +2427,13 @@ dump_relocs (abfd)
|
||||||
|
|
||||||
if (only)
|
if (only)
|
||||||
{
|
{
|
||||||
if (strcmp (only, a->name))
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < only_used; i++)
|
||||||
|
if (strcmp (only [i], a->name) == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (i == only_used)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else if ((a->flags & SEC_RELOC) == 0)
|
else if ((a->flags & SEC_RELOC) == 0)
|
||||||
|
@ -2641,7 +2663,18 @@ main (argc, argv)
|
||||||
disassembler_options = optarg;
|
disassembler_options = optarg;
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
only = optarg;
|
if (only == NULL)
|
||||||
|
{
|
||||||
|
only_size = 8;
|
||||||
|
only = (char **) xmalloc (only_size * sizeof (char *));
|
||||||
|
}
|
||||||
|
else if (only_used == only_size)
|
||||||
|
{
|
||||||
|
only_size += 8;
|
||||||
|
only = (char **) xrealloc (only,
|
||||||
|
only_size * sizeof (char *));
|
||||||
|
}
|
||||||
|
only [only_used++] = optarg;
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
with_line_numbers = TRUE;
|
with_line_numbers = TRUE;
|
||||||
|
|
Loading…
Reference in New Issue