binutils, ld: work with --disable-libctf
This unfortunately means conditionalizing out all the libctf code, but the result is not too unbearably ugly, if a bit repetitive. I have stubbed out code in the !ENABLE_LIBCTF path to avoid extra redundant ifdefs where it seems that might be helpful. (The stubs are not too disruptive, but I've tried to keep them on one line where possible to avoid filling up the screen with stubs that nobody would care about. If this is too much of a coding style violation I can change it.) Changes since v2: use GCC_ENABLE rather than repeating all the AC_ARG_ENABLE stuff over and over again. ld/ * configure.ac [--enable-libctf]: New, default yes. Set ENABLE_LIBCTF accordingly. * Makefile.am [!ENABLE_LIBCTF]: Empty LIBCTF. * configure: Regenerate. * config.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * ldlang.c (ctf_output): Conditionalize on ENABLE_LIBCTF. (ldlang_open_ctf): Likewise. (lang_merge_ctf): Likewise. (ldlang_ctf_apply_strsym): Likewise. (lang_write_ctf): Likewise. (ldlang_write_ctf_late): Likewise. (ldlang_open_ctf) [!ENABLE_LIBCTF]: Warn about the presence of CTF sections. (lang_merge_ctf) [!ENABLE_LIBCTF]: New stub. (ldlang_ctf_apply_strsym) [!ENABLE_LIBCTF]: Likewise. (lang_write_ctf) [!ENABLE_LIBCTF]: Likewise. (ldlang_write_ctf_late) [!ENABLE_LIBCTF]: Likewise. * ldelfgen.c (ldelf_emit_ctf_early): Conditionalize on ENABLE_LIBCTF. (struct ctf_strsym_iter_cb_arg): Likewise. (ldelf_ctf_strtab_iter_cb): Likewise. (ldelf_ctf_symbols_iter_cb): Likewise. (ldelf_examine_strtab_for_ctf): Likewise. (ldelf_emit_ctf_early) [!ENABLE_LIBCTF]: New stub. (ldelf_examine_strtab_for_ctf) [!ENABLE_LIBCTF]: New stub. binutils/ * configure.ac [--enable-libctf]: New, default yes. Set ENABLE_LIBCTF accordingly. * Makefile.am [!ENABLE_LIBCTF]: Empty LIBCTF and LIBCTF_NOBFD. * configure: Regenerate. * config.in: Regenerate. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * objdump.c (usage): Conditionalize portions on ENABLE_LIBCTF. (option_values): Likewise. (long_options): Likewise. (main): Likewise. (dump_ctf_indent_lines): Conditionalize out when !ENABLE_LIBCTF. (make_ctfsect): Likewise. (dump_ctf_archive_member): Likewise. (dump_ctf) [ENABLE_LIBCTF]: Likewise. (dump_ctf) [!ENABLE_LIBCTF]: New empty stub. * readelf.c (options): Conditionalize portions on ENABLE_LIBCTF. (usage): Likewise. (process_section_contents): Likewise. (shdr_to_ctf_sect): Conditionalize out when !ENABLE_LIBCTF. (dump_ctf_indent_lines): Likewise. (dump_section_as_ctf) [ENABLE_LIBCTF]: Likewise.
This commit is contained in:
parent
1776e3e59c
commit
094e34f221
19 changed files with 257 additions and 10 deletions
|
@ -4502,11 +4502,13 @@ static struct option options[] =
|
|||
{"dwarf-start", required_argument, 0, OPTION_DWARF_START},
|
||||
{"dwarf-check", no_argument, 0, OPTION_DWARF_CHECK},
|
||||
|
||||
#ifdef ENABLE_LIBCTF
|
||||
{"ctf", required_argument, 0, OPTION_CTF_DUMP},
|
||||
|
||||
{"ctf-symbols", required_argument, 0, OPTION_CTF_SYMBOLS},
|
||||
{"ctf-strings", required_argument, 0, OPTION_CTF_STRINGS},
|
||||
{"ctf-parent", required_argument, 0, OPTION_CTF_PARENT},
|
||||
#endif
|
||||
|
||||
{"version", no_argument, 0, 'v'},
|
||||
{"wide", no_argument, 0, 'W'},
|
||||
|
@ -4558,6 +4560,7 @@ usage (FILE * stream)
|
|||
--dwarf-depth=N Do not display DIEs at depth N or greater\n\
|
||||
--dwarf-start=N Display DIEs starting with N, at the same depth\n\
|
||||
or deeper\n"));
|
||||
#ifdef ENABLE_LIBCTF
|
||||
fprintf (stream, _("\
|
||||
--ctf=<number|name> Display CTF info from section <number|name>\n\
|
||||
--ctf-parent=<number|name>\n\
|
||||
|
@ -4566,6 +4569,7 @@ usage (FILE * stream)
|
|||
Use section <number|name> as the CTF external symtab\n\n\
|
||||
--ctf-strings=<number|name>\n\
|
||||
Use section <number|name> as the CTF external strtab\n\n"));
|
||||
#endif
|
||||
|
||||
#ifdef SUPPORT_DISASSEMBLY
|
||||
fprintf (stream, _("\
|
||||
|
@ -14132,6 +14136,7 @@ dump_section_as_bytes (Elf_Internal_Shdr * section,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_LIBCTF
|
||||
static ctf_sect_t *
|
||||
shdr_to_ctf_sect (ctf_sect_t *buf, Elf_Internal_Shdr *shdr, Filedata *filedata)
|
||||
{
|
||||
|
@ -14292,6 +14297,7 @@ dump_section_as_ctf (Elf_Internal_Shdr * section, Filedata * filedata)
|
|||
free (strdata);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static bfd_boolean
|
||||
load_specific_debug_section (enum dwarf_section_display_enum debug,
|
||||
|
@ -14777,11 +14783,13 @@ process_section_contents (Filedata * filedata)
|
|||
res = FALSE;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_LIBCTF
|
||||
if (dump & CTF_DUMP)
|
||||
{
|
||||
if (! dump_section_as_ctf (section, filedata))
|
||||
res = FALSE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Check to see if the user requested a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue