aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2021-10-25 11:17:02 +0100
committerNick Alcock <nick.alcock@oracle.com>2021-10-25 11:17:03 +0100
commit10909ea819417549886daf2fea983cc42cd6c734 (patch)
tree5e3efa946bd95255e7b22f852f2122e23cf5dabc /binutils
parent80b56fad5c99a8c93004b0432dd2b363125de35a (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--binutils/doc/ctf.options.texi4
-rw-r--r--binutils/objdump.c9
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: