* objdump.c (display_target_list): Remove unused local ok.

This commit is contained in:
Ian Lance Taylor 1994-06-03 15:00:55 +00:00
parent 36af5ec640
commit 105da05c1a
2 changed files with 63 additions and 138 deletions

View File

@ -1,3 +1,7 @@
Fri Jun 3 10:59:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* objdump.c (display_target_list): Remove unused local ok.
Thu May 26 18:05:52 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* config/mh-alphaosf (CFLAGS): Don't specify both -g and -O;

View File

@ -24,6 +24,7 @@ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdio.h>
#include <ctype.h>
#include "dis-asm.h"
#include "libiberty.h"
/* Internal headers for the ELF .stab-dump code - sorry. */
#define BYTES_IN_WORD 32
@ -441,24 +442,6 @@ objdump_print_address (vma, info)
fprintf (info->stream, ">");
}
#ifdef ARCH_all
#define ARCH_a29k
#define ARCH_alpha
#define ARCH_h8300
#define ARCH_h8500
#define ARCH_hppa
#define ARCH_i386
#define ARCH_i960
#define ARCH_m68k
#define ARCH_m88k
#define ARCH_mips
#define ARCH_powerpc
#define ARCH_rs6000
#define ARCH_sh
#define ARCH_sparc
#define ARCH_z8k
#endif
void
disassemble_data (abfd)
bfd *abfd;
@ -513,106 +496,14 @@ disassemble_data (abfd)
}
else
{
enum bfd_architecture a = bfd_get_arch (abfd);
switch (a)
disassemble = disassembler (abfd);
if (!disassemble)
{
/* If you add a case to this table, also add it to the
ARCH_all definition right above this function. */
#ifdef ARCH_a29k
case bfd_arch_a29k:
/* As far as I know we only handle big-endian 29k objects. */
disassemble = print_insn_big_a29k;
break;
#endif
#ifdef ARCH_alpha
case bfd_arch_alpha:
disassemble = print_insn_alpha;
break;
#endif
#ifdef ARCH_h8300
case bfd_arch_h8300:
if (bfd_get_mach(abfd) == bfd_mach_h8300h)
disassemble = print_insn_h8300h;
else
disassemble = print_insn_h8300;
break;
#endif
#ifdef ARCH_h8500
case bfd_arch_h8500:
disassemble = print_insn_h8500;
break;
#endif
#ifdef ARCH_hppa
case bfd_arch_hppa:
disassemble = print_insn_hppa;
break;
#endif
#ifdef ARCH_i386
case bfd_arch_i386:
disassemble = print_insn_i386;
break;
#endif
#ifdef ARCH_i960
case bfd_arch_i960:
disassemble = print_insn_i960;
break;
#endif
#ifdef ARCH_m68k
case bfd_arch_m68k:
disassemble = print_insn_m68k;
break;
#endif
#ifdef ARCH_m88k
case bfd_arch_m88k:
disassemble = print_insn_m88k;
break;
#endif
#ifdef ARCH_mips
case bfd_arch_mips:
if (abfd->xvec->byteorder_big_p)
disassemble = print_insn_big_mips;
else
disassemble = print_insn_little_mips;
break;
#endif
#ifdef ARCH_powerpc
case bfd_arch_powerpc:
if (abfd->xvec->byteorder_big_p)
disassemble = print_insn_big_powerpc;
else
disassemble = print_insn_little_powerpc;
break;
#endif
#ifdef ARCH_rs6000
case bfd_arch_rs6000:
disassemble = print_insn_rs6000;
break;
#endif
#ifdef ARCH_sh
case bfd_arch_sh:
disassemble = print_insn_sh;
break;
#endif
#ifdef ARCH_sparc
case bfd_arch_sparc:
disassemble = print_insn_sparc;
break;
#endif
#ifdef ARCH_z8k
case bfd_arch_z8k:
if (bfd_get_mach(abfd) == bfd_mach_z8001)
disassemble = print_insn_z8001;
else
disassemble = print_insn_z8002;
break;
#endif
default:
fprintf (stderr, "%s: Can't disassemble for architecture %s\n",
program_name,
bfd_printable_arch_mach (a, 0));
bfd_printable_arch_mach (bfd_get_arch (abfd), 0));
exit (1);
}
}
for (section = abfd->sections;
@ -886,8 +777,10 @@ print_section_stabs (abfd, stabsect_name, strsect_name)
again (makes consistent formatting for tools like awk). */
if (stab_name[stabp->n_type])
printf ("%-6s", stab_name[stabp->n_type]);
else if (stabp->n_type == N_UNDF)
printf ("HdrSym");
else
printf ("%-6d", i);
printf ("%-6d", stabp->n_type);
printf (" %-6d %-6d ", stabp->n_other, stabp->n_desc);
printf_vma (stabp->n_value);
printf (" %-6lu", stabp->n_strx);
@ -1339,22 +1232,27 @@ display_target_list ()
dummy_name = tmpnam ((char *) NULL);
for (t = 0; bfd_target_vector[t]; t++)
{
int a;
bfd_target *p = bfd_target_vector[t];
bfd *abfd = bfd_openw (dummy_name, p->name);
int a;
/* It *is* possible that bfd_openw might fail; avoid the
tragic consequences that would otherwise ensue. */
if (abfd == NULL)
{
bfd_nonfatal (dummy_name);
unlink (dummy_name);
return;
}
bfd_set_format (abfd, bfd_object);
printf ("%s\n (header %s, data %s)\n", p->name,
p->header_byteorder_big_p ? "big endian" : "little endian",
p->byteorder_big_p ? "big endian" : "little endian");
if (abfd == NULL)
{
bfd_nonfatal (dummy_name);
continue;
}
if (! bfd_set_format (abfd, bfd_object))
{
if (bfd_get_error () != bfd_error_invalid_operation)
bfd_nonfatal (p->name);
continue;
}
for (a = (int) bfd_arch_obscure + 1; a < (int) bfd_arch_last; a++)
if (bfd_set_arch_mach (abfd, (enum bfd_architecture) a, 0))
printf (" %s\n",
@ -1379,7 +1277,7 @@ display_info_table (first, last)
/* Print heading of target names. */
printf ("\n%*s", (int) LONGEST_ARCH, " ");
for (t = first; t++ < last && bfd_target_vector[t];)
for (t = first; t < last && bfd_target_vector[t]; t++)
printf ("%s ", bfd_target_vector[t]->name);
putchar ('\n');
@ -1389,20 +1287,35 @@ display_info_table (first, last)
{
printf ("%*s ", (int) LONGEST_ARCH - 1,
bfd_printable_arch_mach (a, 0));
for (t = first; t++ < last && bfd_target_vector[t];)
for (t = first; t < last && bfd_target_vector[t]; t++)
{
bfd_target *p = bfd_target_vector[t];
boolean ok = true;
bfd *abfd = bfd_openw (dummy_name, p->name);
/* Just in case the open failed somehow. */
if (abfd == NULL)
{
bfd_nonfatal (dummy_name);
unlink (dummy_name);
return;
bfd_nonfatal (p->name);
ok = false;
}
bfd_set_format (abfd, bfd_object);
if (bfd_set_arch_mach (abfd, a, 0))
if (ok)
{
if (! bfd_set_format (abfd, bfd_object))
{
if (bfd_get_error () != bfd_error_invalid_operation)
bfd_nonfatal (p->name);
ok = false;
}
}
if (ok)
{
if (! bfd_set_arch_mach (abfd, a, 0))
ok = false;
}
if (ok)
printf ("%s ", p->name);
else
{
@ -1435,15 +1348,23 @@ display_target_tables ()
if (columns == 0)
columns = 80;
for (t = 0; bfd_target_vector[t];)
t = 0;
while (bfd_target_vector[t] != NULL)
{
int oldt = t, wid;
for (wid = LONGEST_ARCH; bfd_target_vector[t] && wid < columns; t++)
wid += strlen (bfd_target_vector[t]->name) + 1;
t--;
if (oldt == t)
break;
wid = LONGEST_ARCH + strlen (bfd_target_vector[t]->name) + 1;
++t;
while (wid < columns && bfd_target_vector[t] != NULL)
{
int newwid;
newwid = wid + strlen (bfd_target_vector[t]->name) + 1;
if (newwid >= columns)
break;
wid = newwid;
++t;
}
display_info_table (oldt, t);
}
}