diff options
author | Nick Clifton <nickc@redhat.com> | 2003-03-24 11:28:35 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-03-24 11:28:35 +0000 |
commit | 06d86cf78eeb35897934df3c12e1024f305b2540 (patch) | |
tree | 7d04d067655fa4d197f365eaa09e93c3380ee268 /binutils/objdump.c | |
parent | 17c0759ec471ba99d575e0c8c25b22e1bfe8ff43 (diff) | |
download | gdb-06d86cf78eeb35897934df3c12e1024f305b2540.zip gdb-06d86cf78eeb35897934df3c12e1024f305b2540.tar.gz gdb-06d86cf78eeb35897934df3c12e1024f305b2540.tar.bz2 |
Move display_info() function into bucomm.c
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r-- | binutils/objdump.c | 201 |
1 files changed, 7 insertions, 194 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c index 26299cf..b641fde 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -123,21 +123,21 @@ static void usage static void nonfatal PARAMS ((const char *)); static void display_file - PARAMS ((char *filename, char *target)); + PARAMS ((char *, char *)); static void dump_section_header PARAMS ((bfd *, asection *, PTR)); static void dump_headers PARAMS ((bfd *)); static void dump_data - PARAMS ((bfd *abfd)); + PARAMS ((bfd *)); static void dump_relocs - PARAMS ((bfd *abfd)); + PARAMS ((bfd *)); static void dump_dynamic_relocs - PARAMS ((bfd * abfd)); + PARAMS ((bfd *)); static void dump_reloc_set PARAMS ((bfd *, asection *, arelent **, long)); static void dump_symbols - PARAMS ((bfd *abfd, bfd_boolean dynamic)); + PARAMS ((bfd *, bfd_boolean)); static void dump_bfd_header PARAMS ((bfd *)); static void dump_bfd_private_header @@ -145,15 +145,7 @@ static void dump_bfd_private_header static void dump_bfd PARAMS ((bfd *)); static void display_bfd - PARAMS ((bfd *abfd)); -static void display_target_list - PARAMS ((void)); -static void display_info_table - PARAMS ((int, int)); -static void display_target_tables - PARAMS ((void)); -static void display_info - PARAMS ((void)); + PARAMS ((bfd *)); static void objdump_print_value PARAMS ((bfd_vma, struct disassemble_info *, bfd_boolean)); static void objdump_print_symname @@ -176,8 +168,6 @@ static void disassemble_bytes bfd_byte *, bfd_vma, bfd_vma, arelent ***, arelent **)); static void disassemble_data PARAMS ((bfd *)); -static const char *endian_string - PARAMS ((enum bfd_endian)); static asymbol ** slurp_symtab PARAMS ((bfd *)); static asymbol ** slurp_dynamic_symtab @@ -2571,183 +2561,6 @@ dump_reloc_set (abfd, sec, relpp, relcount) } } -/* The length of the longest architecture name + 1. */ -#define LONGEST_ARCH sizeof("powerpc:common") - -static const char * -endian_string (endian) - enum bfd_endian endian; -{ - if (endian == BFD_ENDIAN_BIG) - return "big endian"; - else if (endian == BFD_ENDIAN_LITTLE) - return "little endian"; - else - return "endianness unknown"; -} - -/* List the targets that BFD is configured to support, each followed - by its endianness and the architectures it supports. */ - -static void -display_target_list () -{ - extern const bfd_target *const *bfd_target_vector; - char *dummy_name; - int t; - - dummy_name = make_temp_file (NULL); - for (t = 0; bfd_target_vector[t]; t++) - { - const bfd_target *p = bfd_target_vector[t]; - bfd *abfd = bfd_openw (dummy_name, p->name); - int a; - - printf ("%s\n (header %s, data %s)\n", p->name, - endian_string (p->header_byteorder), - endian_string (p->byteorder)); - - if (abfd == NULL) - { - nonfatal (dummy_name); - continue; - } - - if (! bfd_set_format (abfd, bfd_object)) - { - if (bfd_get_error () != bfd_error_invalid_operation) - nonfatal (p->name); - bfd_close_all_done (abfd); - 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", - bfd_printable_arch_mach ((enum bfd_architecture) a, 0)); - bfd_close_all_done (abfd); - } - unlink (dummy_name); - free (dummy_name); -} - -/* Print a table showing which architectures are supported for entries - FIRST through LAST-1 of bfd_target_vector (targets across, - architectures down). */ - -static void -display_info_table (first, last) - int first; - int last; -{ - extern const bfd_target *const *bfd_target_vector; - int t, a; - char *dummy_name; - - /* Print heading of target names. */ - printf ("\n%*s", (int) LONGEST_ARCH, " "); - for (t = first; t < last && bfd_target_vector[t]; t++) - printf ("%s ", bfd_target_vector[t]->name); - putchar ('\n'); - - dummy_name = make_temp_file (NULL); - for (a = (int) bfd_arch_obscure + 1; a < (int) bfd_arch_last; a++) - if (strcmp (bfd_printable_arch_mach (a, 0), "UNKNOWN!") != 0) - { - printf ("%*s ", (int) LONGEST_ARCH - 1, - bfd_printable_arch_mach (a, 0)); - for (t = first; t < last && bfd_target_vector[t]; t++) - { - const bfd_target *p = bfd_target_vector[t]; - bfd_boolean ok = TRUE; - bfd *abfd = bfd_openw (dummy_name, p->name); - - if (abfd == NULL) - { - nonfatal (p->name); - ok = FALSE; - } - - if (ok) - { - if (! bfd_set_format (abfd, bfd_object)) - { - if (bfd_get_error () != bfd_error_invalid_operation) - nonfatal (p->name); - ok = FALSE; - } - } - - if (ok) - { - if (! bfd_set_arch_mach (abfd, a, 0)) - ok = FALSE; - } - - if (ok) - printf ("%s ", p->name); - else - { - int l = strlen (p->name); - while (l--) - putchar ('-'); - putchar (' '); - } - if (abfd != NULL) - bfd_close_all_done (abfd); - } - putchar ('\n'); - } - unlink (dummy_name); - free (dummy_name); -} - -/* Print tables of all the target-architecture combinations that - BFD has been configured to support. */ - -static void -display_target_tables () -{ - int t, columns; - extern const bfd_target *const *bfd_target_vector; - char *colum; - - columns = 0; - colum = getenv ("COLUMNS"); - if (colum != NULL) - columns = atoi (colum); - if (columns == 0) - columns = 80; - - t = 0; - while (bfd_target_vector[t] != NULL) - { - int oldt = t, wid; - - 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); - } -} - -static void -display_info () -{ - printf (_("BFD header file version %s\n"), BFD_VERSION_STRING); - display_target_list (); - display_target_tables (); -} - int main PARAMS ((int, char **)); int @@ -2943,7 +2756,7 @@ main (argc, argv) usage (stderr, 2); if (formats_info) - display_info (); + exit_status = display_info (); else { if (optind == argc) |