diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2021-10-25 11:17:02 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2021-10-25 11:17:03 +0100 |
commit | 10909ea819417549886daf2fea983cc42cd6c734 (patch) | |
tree | 5e3efa946bd95255e7b22f852f2122e23cf5dabc /binutils | |
parent | 80b56fad5c99a8c93004b0432dd2b363125de35a (diff) | |
download | gdb-10909ea819417549886daf2fea983cc42cd6c734.zip gdb-10909ea819417549886daf2fea983cc42cd6c734.tar.gz gdb-10909ea819417549886daf2fea983cc42cd6c734.tar.bz2 |
binutils, ld: make objdump --ctf's parameter optional
ld by default (and always, unless adjusted with a hand-rolled linker
script) emits deduplicated CTF into the .ctf section. But viewing
it needs you to explicitly tell objdump this: it doesn't default
its argument, even though what you always end up typing is
--ctf=.ctf.
This is annoying, so make the argument optional.
binutils/ChangeLog
2021-10-25 Nick Alcock <nick.alcock@oracle.com>
* objdump.c (usage): --ctf now has an optional argument.
(main): Adjust accordingly.
(dump_ctf): Default it.
* doc/ctf.options.texi: Adjust.
ld/ChangeLog
2021-10-25 Nick Alcock <nick.alcock@oracle.com>
* testsuite/ld-ctf/array.d: Change --ctf=.ctf to --ctf.
* testsuite/ld-ctf/conflicting-cycle-1.B-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-1.B-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-1.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.A-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.A-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-2.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.C-1.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.C-2.d: Likewise.
* testsuite/ld-ctf/conflicting-cycle-3.parent.d: Likewise.
* testsuite/ld-ctf/conflicting-enums.d: Likewise.
* testsuite/ld-ctf/conflicting-typedefs.d: Likewise.
* testsuite/ld-ctf/cross-tu-cyclic-conflicting.d: Likewise.
* testsuite/ld-ctf/cross-tu-cyclic-nonconflicting.d: Likewise.
* testsuite/ld-ctf/cross-tu-into-cycle.d: Likewise.
* testsuite/ld-ctf/cross-tu-noncyclic.d: Likewise.
* testsuite/ld-ctf/cycle-1.d: Likewise.
* testsuite/ld-ctf/cycle-2.A.d: Likewise.
* testsuite/ld-ctf/cycle-2.B.d: Likewise.
* testsuite/ld-ctf/cycle-2.C.d: Likewise.
* testsuite/ld-ctf/data-func-conflicted.d: Likewise.
* testsuite/ld-ctf/diag-cttname-null.d: Likewise.
* testsuite/ld-ctf/diag-cuname.d: Likewise.
* testsuite/ld-ctf/diag-parlabel.d: Likewise.
* testsuite/ld-ctf/enum-forward.d: Likewise.
* testsuite/ld-ctf/enums.d: Likewise.
* testsuite/ld-ctf/forward.d: Likewise.
* testsuite/ld-ctf/function.d: Likewise.
* testsuite/ld-ctf/nonrepresentable.d: Likewise.
* testsuite/ld-ctf/slice.d: Likewise.
* testsuite/ld-ctf/super-sub-cycles.d: Likewise.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 7 | ||||
-rw-r--r-- | binutils/doc/ctf.options.texi | 4 | ||||
-rw-r--r-- | binutils/objdump.c | 9 |
3 files changed, 16 insertions, 4 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ea9cfe4..efde928 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,12 @@ 2021-10-25 Nick Alcock <nick.alcock@oracle.com> + * objdump.c (usage): --ctf now has an optional argument. + (main): Adjust accordingly. + (dump_ctf): Default it. + * doc/ctf.options.texi: Adjust. + +2021-10-25 Nick Alcock <nick.alcock@oracle.com> + * objdump.c (usage): --ctf-parent now takes a name, not a section. (dump_ctf): Don't open a separate section; use the parent_name in ctf_dict_open instead. Use ctf_archive_next, not ctf_archive_iter, diff --git a/binutils/doc/ctf.options.texi b/binutils/doc/ctf.options.texi index 34451f9..2820946 100644 --- a/binutils/doc/ctf.options.texi +++ b/binutils/doc/ctf.options.texi @@ -1,13 +1,15 @@ @c This file contains the entry for the --ctf, --ctf-parent, --ctf-symbols, -and @c --ctf-strings options that are common to both readelf and objdump. -@item --ctf=@var{section} +@item --ctf[=@var{section}] @cindex CTF @cindex Compact Type Format Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. +By default, display the name of the section named @var{.ctf}, which is the +name emitted by @command{ld}. @item --ctf-parent=@var{member} diff --git a/binutils/objdump.c b/binutils/objdump.c index 43472e1..356e3ec 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -273,7 +273,7 @@ usage (FILE *stream, int status) separate debuginfo files. (Implies -WK)\n")); #ifdef ENABLE_LIBCTF fprintf (stream, _("\ - --ctf=SECTION Display CTF info from SECTION\n")); + --ctf[=SECTION] Display CTF info from SECTION, (default `.ctf')\n")); #endif fprintf (stream, _("\ -t, --syms Display the contents of the symbol table(s)\n")); @@ -460,7 +460,7 @@ static struct option long_options[]= {"include", required_argument, NULL, 'I'}, {"dwarf", optional_argument, NULL, OPTION_DWARF}, #ifdef ENABLE_LIBCTF - {"ctf", required_argument, NULL, OPTION_CTF}, + {"ctf", optional_argument, NULL, OPTION_CTF}, {"ctf-parent", required_argument, NULL, OPTION_CTF_PARENT}, #endif {"stabs", no_argument, NULL, 'G'}, @@ -4218,6 +4218,8 @@ dump_ctf (bfd *abfd, const char *sect_name, const char *parent_name) size_t member = 0; int err; + if (sect_name == NULL) + sect_name = ".ctf"; if ((ctfdata = read_section_stabs (abfd, sect_name, &ctfsize, NULL)) == NULL) bfd_fatal (bfd_get_filename (abfd)); @@ -5449,7 +5451,8 @@ main (int argc, char **argv) #ifdef ENABLE_LIBCTF case OPTION_CTF: dump_ctf_section_info = true; - dump_ctf_section_name = xstrdup (optarg); + if (optarg) + dump_ctf_section_name = xstrdup (optarg); seenflag = true; break; case OPTION_CTF_PARENT: |