X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fcoffdump.c;h=1e23cf44ce8193a15c1b269137a79e57569a8f95;hb=4297a3f0029974c62628d69b6f3f9ef25f01ea7d;hp=d871e1ebdb2c6e4c41d300458b203f279617d568;hpb=9cf03b7e412b9cdeca8b5ea3f73c081e31078a28;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/coffdump.c b/binutils/coffdump.c index d871e1ebdb..1e23cf44ce 100644 --- a/binutils/coffdump.c +++ b/binutils/coffdump.c @@ -1,6 +1,5 @@ /* Coff file dumper. - Copyright 1994, 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2007, - 2011 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -268,6 +267,7 @@ dump_coff_where (struct coff_where *p) break; case coff_where_strtag: printf ("STRTAG"); + break; case coff_where_entag: printf ("ENTAG"); break; @@ -418,21 +418,23 @@ dump_coff_sfile (struct coff_sfile *p) 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 ? _("") : r->symbol->name, + r->addend); nl (); } @@ -499,6 +501,7 @@ main (int ac, char **av) program_name = av[0]; xmalloc_set_program_name (program_name); + bfd_set_error_program_name (program_name); expandargv (&ac, &av); @@ -550,9 +553,11 @@ main (int ac, char **av) } tree = coff_grok (abfd); - - coff_dump (tree); - printf ("\n"); + if (tree) + { + coff_dump (tree); + printf ("\n"); + } return 0; }