binutils-gdb/binutils/objdump.h
Nick Clifton 45b8517aae Enhance objdump's --private option so that it can display the contents of PE format files.
* od-pe.c: New file: Dumps fields in PE format headers.
  * configure.ac (od_vectors): Add objdump_private_desc_pe for PE format targets. (od_files): Add od-pe for PE format targets.
  * configure: Regenerate.
  * Makefile.am (CFILES): Add od-pe.c (EXTRA_objdump_SOURCE): Likewise.
  * Makefile.in: Generate.
  * NEWS: Mention the new feature.
  * doc/binutils.texi: Document the new support.
  * objdump.c (wide_output): Change from local to global.
  * objdump.h (wide_output): Prototype. (objdump_private_desc_pe): Prototype.
  * testsuite/binutils-all/objdump.exp: Add a test of the new feature.
2023-05-26 15:41:20 +01:00

61 lines
1.9 KiB
C

/* objdump.h
Copyright (C) 2011-2023 Free Software Foundation, Inc.
This file is part of GNU Binutils.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
/* Non-zero if wide output has been enabled. */
extern int wide_output;
struct objdump_private_option
{
/* Option name. */
const char *name;
/* TRUE if the option is selected. Automatically set and cleared by
objdump. */
unsigned int selected;
};
struct objdump_private_desc
{
/* Help displayed for --help. */
void (*help)(FILE *stream);
/* Return TRUE if these options can be applied to ABFD. */
int (*filter)(bfd *abfd);
/* Do the actual work: display whatever is requested according to the
options whose SELECTED field is set. */
void (*dump)(bfd *abfd);
/* List of options. Terminated by a NULL name. */
struct objdump_private_option *options;
};
/* ELF32_AVR specific target. */
extern const struct objdump_private_desc objdump_private_desc_elf32_avr;
/* XCOFF specific target. */
extern const struct objdump_private_desc objdump_private_desc_xcoff;
/* PE specific target. */
extern const struct objdump_private_desc objdump_private_desc_pe;
/* Mach-O specific target. */
extern const struct objdump_private_desc objdump_private_desc_mach_o;