diff options
author | David MacKenzie <djm@cygnus> | 1994-02-03 13:08:29 +0000 |
---|---|---|
committer | David MacKenzie <djm@cygnus> | 1994-02-03 13:08:29 +0000 |
commit | 6f9dff07e17b829b8becf9fcb9b34b4711f4ceb1 (patch) | |
tree | 90acc7d8c89467404be984a13a5dbd77d2cef4b4 /binutils | |
parent | 139c8857be582c3e05fecd3b0f91368632fd9b12 (diff) | |
download | gdb-6f9dff07e17b829b8becf9fcb9b34b4711f4ceb1.zip gdb-6f9dff07e17b829b8becf9fcb9b34b4711f4ceb1.tar.gz gdb-6f9dff07e17b829b8becf9fcb9b34b4711f4ceb1.tar.bz2 |
More changes to print ambiguous matches and use the
abstracting macros.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/nm.c | 12 | ||||
-rw-r--r-- | binutils/size.c | 4 |
3 files changed, 15 insertions, 6 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index bc2bddc..ac72e0a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -2,7 +2,7 @@ Wed Feb 2 13:42:23 1994 David J. Mackenzie (djm@thepub.cygnus.com) * nlmconv.c (main): Use bfd_get_flavour instead of struct member. * ar.c (print_contents, extract_file), size.c - (print_berkeley_format): Use bfd_get_filename and + (print_berkeley_format, print_sysv_format): Use bfd_get_filename and bfd_my_archive instead of dereferencing the structs directly. * ar.c: Use bfd_fatal and bfd_nonfatal instead of bfd_perror and exit. @@ -10,7 +10,8 @@ Wed Feb 2 13:42:23 1994 David J. Mackenzie (djm@thepub.cygnus.com) * nlmconv.c (main), objcopy.c (copy_file): Print matching formats if ambiguous match. - * nm.c (display_file), size.c (display_bfd): Eliminate gotos. + * nm.c (display_file, display_archive), size.c (display_bfd): + Eliminate gotos. Print matching formats if there is an ambiguous match. Use bfd_nonfatal instead of hardcoded error message if nothing matches. diff --git a/binutils/nm.c b/binutils/nm.c index c3045ee..6580e7b 100644 --- a/binutils/nm.c +++ b/binutils/nm.c @@ -368,6 +368,7 @@ display_archive (file) bfd *file; { bfd *arfile = NULL; + char **matching; (*format->print_archive_filename) (bfd_get_filename (file)); @@ -385,14 +386,21 @@ display_archive (file) break; } - if (bfd_check_format (arfile, bfd_object)) + if (bfd_check_format_matches (arfile, bfd_object, &matching)) { (*format->print_archive_member) (bfd_get_filename (file), bfd_get_filename (arfile)); display_rel_file (arfile, file); } else - printf ("%s: not an object file\n", arfile->filename); + { + bfd_nonfatal (bfd_get_filename (arfile)); + if (bfd_error == file_ambiguously_recognized) + { + list_matching_formats (matching); + free (matching); + } + } } } diff --git a/binutils/size.c b/binutils/size.c index 936747a..175e3ff 100644 --- a/binutils/size.c +++ b/binutils/size.c @@ -404,8 +404,8 @@ print_sysv_format (file) svi_total = 0; printf ("%s ", bfd_get_filename (file)); - if (file->my_archive) - printf (" (ex %s)", file->my_archive->filename); + if (bfd_my_archive (file)) + printf (" (ex %s)", bfd_get_filename (bfd_my_archive (file))); puts (":\nsection\t\tsize\t addr"); bfd_map_over_sections (file, sysv_internal_printer, (PTR) NULL); |