/* Coff file dumper.
- Copyright (C) 1994-2014 Free Software Foundation, Inc.
+ Copyright (C) 1994-2023 Free Software Foundation, Inc.
This file is part of GNU Binutils.
#include "sysdep.h"
#include "bfd.h"
-#include "bfd_stdint.h"
+#include <stdint.h>
#include "libiberty.h"
#include "bucomm.h"
break;
case coff_where_strtag:
printf ("STRTAG");
+ break;
case coff_where_entag:
printf ("ENTAG");
break;
if (p)
{
tab (1);
- printf ("%s %" BFD_VMA_FMT "x ",
- _("List of blocks "), (bfd_vma) (uintptr_t) p);
+ printf ("%s %p ", _("List of blocks "), p);
if (p->sec)
printf( " %s %x..%x", p->sec->name,p->offset, p->offset + p->size -1);
static void
dump_coff_section (struct coff_section *ptr)
{
- int i;
+ unsigned int i;
tab (1);
- printf (_("section %s %d %d address %x size %x number %d nrelocs %d"),
+ printf (_("section %s %d %d address %x size %x number %d nrelocs %u"),
ptr->name, ptr->code, ptr->data, ptr->address,ptr->size,
ptr->number, ptr->nrelocs);
nl ();
for (i = 0; i < ptr->nrelocs; i++)
{
+ struct coff_reloc * r = ptr->relocs + i;
tab (0);
printf ("(%x %s %x)",
- ptr->relocs[i].offset,
- ptr->relocs[i].symbol->name,
- ptr->relocs[i].addend);
+ r->offset,
+ /* PR 17512: file: 0a38fb7c. */
+ r->symbol == NULL ? _("<no sym>") : r->symbol->name,
+ r->addend);
nl ();
}
dump_coff_section (ptr->sections + i);
}
-char * program_name;
-
static void
show_usage (FILE *file, int status)
{
{ NULL, no_argument, 0, 0 }
};
-#if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
+#ifdef HAVE_LC_MESSAGES
setlocale (LC_MESSAGES, "");
#endif
-#if defined (HAVE_SETLOCALE)
setlocale (LC_CTYPE, "");
-#endif
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
program_name = av[0];
xmalloc_set_program_name (program_name);
+ bfd_set_error_program_name (program_name);
expandargv (&ac, &av);
bfd_nonfatal (input_file);
if (bfd_get_error () == bfd_error_file_ambiguously_recognized)
- {
- list_matching_formats (matching);
- free (matching);
- }
+ list_matching_formats (matching);
exit (1);
}
tree = coff_grok (abfd);
-
- coff_dump (tree);
- printf ("\n");
+ if (tree)
+ {
+ coff_dump (tree);
+ printf ("\n");
+ }
return 0;
}