diff options
author | Nick Clifton <nickc@redhat.com> | 2019-05-29 11:31:16 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-05-29 11:32:34 +0100 |
commit | 90bd54236cb8b1c31c3662977159be971044c20d (patch) | |
tree | ae40336bf812074b3c26b51190e33a59946ef2e8 /binutils/objdump.c | |
parent | 9698cf9b1c485edbbeabc9f65bfd0fdef92e3854 (diff) | |
download | binutils-gdb-90bd54236cb8b1c31c3662977159be971044c20d.tar.gz |
Do not build libctf for targets that do not use the ELF file format.
top * configure.ac (noconfigdirs): Add libctf if the target does not use
the ELF file format.
* configure: Regenerate.
binutils* configure.ac (LIBCTF): Export. Set to empty for non-ELF based
targets.
(HAVE_LIBCTF): Define if libctf support is available.
* Makefile.am (LIBCTF): Set value to @LIBCTF@.
* objdump.c: Make CTF code conditional upon HAVE_LIBCTF being
defined.
* readelf.c: Likewise.
* configure: Regenerate.
* Makefile.in: Regenerate.
* config.in: Regenerate.
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r-- | binutils/objdump.c | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c index 156331b502e..382ba35855c 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -56,7 +56,9 @@ #include "bucomm.h" #include "elfcomm.h" #include "dwarf.h" +#ifdef HAVE_LIBCTF #include "ctf-api.h" +#endif #include "getopt.h" #include "safe-ctype.h" #include "dis-asm.h" @@ -99,9 +101,11 @@ static bfd_boolean with_source_code; /* -S */ static int show_raw_insn; /* --show-raw-insn */ static int dump_dwarf_section_info; /* --dwarf */ static int dump_stab_section_info; /* --stabs */ +#ifdef HAVE_LIBCTF static int dump_ctf_section_info; /* --ctf */ static char *dump_ctf_section_name; static char *dump_ctf_parent_name; /* --ctf-parent */ +#endif static int do_demangle; /* -C, --demangle */ static bfd_boolean disassemble; /* -d */ static bfd_boolean disassemble_all; /* -D */ @@ -228,8 +232,12 @@ usage (FILE *stream, int status) =frames-interp,=str,=loc,=Ranges,=pubtypes,\n\ =gdb_index,=trace_info,=trace_abbrev,=trace_aranges,\n\ =addr,=cu_index,=links,=follow-links]\n\ - Display DWARF info in the file\n\ - --ctf=SECTION Display CTF info from SECTION\n\ + Display DWARF info in the file\n")); +#ifdef HAVE_LIBCTF + fprintf (stream, _("\ + --ctf=SECTION Display CTF info from SECTION\n")); +#endif + fprintf (stream, _("\ -t, --syms Display the contents of the symbol table(s)\n\ -T, --dynamic-syms Display the contents of the dynamic symbol table\n\ -r, --reloc Display the relocation entries in the file\n\ @@ -278,8 +286,11 @@ usage (FILE *stream, int status) --dwarf-start=N Display DIEs starting with N, at the same depth\n\ or deeper\n\ --dwarf-check Make additional dwarf internal consistency checks.\ - \n\ + \n")); +#ifdef HAVE_LIBCTF + fprintf (stream, _("\ --ctf-parent=SECTION Use SECTION as the CTF parent\n\n")); +#endif list_supported_targets (program_name, stream); list_supported_architectures (program_name, stream); @@ -314,9 +325,11 @@ enum option_values OPTION_DWARF_START, OPTION_RECURSE_LIMIT, OPTION_NO_RECURSE_LIMIT, - OPTION_INLINES, +#ifdef HAVE_LIBCTF OPTION_CTF, - OPTION_CTF_PARENT + OPTION_CTF_PARENT, +#endif + OPTION_INLINES }; static struct option long_options[]= @@ -359,8 +372,10 @@ static struct option long_options[]= {"special-syms", no_argument, &dump_special_syms, 1}, {"include", required_argument, NULL, 'I'}, {"dwarf", optional_argument, NULL, OPTION_DWARF}, +#ifdef HAVE_LIBCTF {"ctf", required_argument, NULL, OPTION_CTF}, {"ctf-parent", required_argument, NULL, OPTION_CTF_PARENT}, +#endif {"stabs", no_argument, NULL, 'G'}, {"start-address", required_argument, NULL, OPTION_START_ADDRESS}, {"stop-address", required_argument, NULL, OPTION_STOP_ADDRESS}, @@ -3199,6 +3214,7 @@ dump_bfd_header (bfd *abfd) } +#ifdef HAVE_LIBCTF /* Formatting callback function passed to ctf_dump. Returns either the pointer it is passed, or a pointer to newly-allocated storage, in which case dump_ctf() will free it when it no longer needs it. */ @@ -3216,6 +3232,7 @@ dump_ctf_indent_lines (ctf_sect_names_t sect ATTRIBUTE_UNUSED, } /* Make a ctfsect suitable for ctf_bfdopen_ctfsect(). */ + static ctf_sect_t make_ctfsect (const char *name, bfd_byte *data, bfd_size_type size) @@ -3331,8 +3348,8 @@ dump_ctf (bfd *abfd, const char *sect_name, const char *parent_name) free (parentdata); free (ctfdata); } +#endif /* HAVE_LIBCTF */ - static void dump_bfd_private_header (bfd *abfd) { @@ -4043,8 +4060,10 @@ dump_bfd (bfd *abfd, bfd_boolean is_mainfile) dump_symbols (abfd, TRUE); if (dump_dwarf_section_info) dump_dwarf (abfd); +#ifdef HAVE_LIBCTF if (dump_ctf_section_info) dump_ctf (abfd, dump_ctf_section_name, dump_ctf_parent_name); +#endif if (dump_stab_section_info) dump_stabs (abfd); if (dump_reloc_info && ! disassemble) @@ -4484,6 +4503,7 @@ main (int argc, char **argv) case OPTION_DWARF_CHECK: dwarf_check = TRUE; break; +#ifdef HAVE_LIBCTF case OPTION_CTF: dump_ctf_section_info = TRUE; dump_ctf_section_name = xstrdup (optarg); @@ -4492,6 +4512,7 @@ main (int argc, char **argv) case OPTION_CTF_PARENT: dump_ctf_parent_name = xstrdup (optarg); break; +#endif case 'G': dump_stab_section_info = TRUE; seenflag = TRUE; @@ -4551,9 +4572,10 @@ main (int argc, char **argv) } free_only_list (); +#ifdef HAVE_LIBCTF free (dump_ctf_section_name); free (dump_ctf_parent_name); - +#endif END_PROGRESS (program_name); return exit_status; |