This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Revised display-linkage-name


On 05/22/2013 12:28 PM, Eli Zaretskii wrote:
Date: Wed, 22 May 2013 11:03:22 -0700
From: Michael Eager <eager@eagerm.com>
CC: Tom Tromey <tromey@redhat.com>

Changes:
    Add NEWS and docs.
    Add linkage name to "info break" listing.
    Add MI annotations.
    Add command to set/show display length limit, remove define.
    Add test case.

Thanks.

+set|show display-linkage-name-len
+
+  Set the maximum number of characters to display in the linkage name,
+  if display-linkage-name is on.  The default is 20.

Do we really need this?  Why not display the whole name always?

With C++, and especially with templates, the linker name can become
very long.


+@kindex set display-linkage-name @code{on}|@code{off}

Please remove the on|off part from the index entry.  Just the command
is enough.

OK.


+@cindex list linker symbol names

Is "linker symbol name" how users would expect this to be called?  I
wouldn't.  Index entries should use phrases that readers might have in
mind when they are looking for the stuff described in this section.

I think the correct terminology is "linkage name".

The only reference I find using Google to "linkage name" is in DWARF.
I don't consider this to be common or widely used terminology.  I
personally would look for "symbol name", which unfortunately has multiple
meanings.

I'm happy to use "linkage name", but I don't think that this is a
phrase readers might have in mind, unless they had just been reading
the DWARF spec.


+The default is @code{off}, which means that @value{GDBN} will only
+display the function name used in the source.  When @code{on}, @value{GDBN}
+will also display the symbol name used by the linker within brackets if it is
+different from the name in the source.  This can be useful with compilers
+which may prepend characters to a source name, for example, an underscore.
+
+This is different from "set print asm-demangle on" which only displays
+the linkage name for C++ symbols and does not display the source name.

Isn't it confusing to have 2 subtly different settings that actually
achieve almost the same?  How about a single setting, perhaps a
tristate, instead of 2 separate booleans?

I don't think it is confusing.

The two options are significantly different, both in implementation and
definition.  Asm-demangle is only mentioned as contrast in information provided.

The functionality provided by display-linkage-name is not related to C++.
There is no demangling being performed.  Trying to combine two unrelated
options into one would make a hash of the coding for both.


+@kindex set display-linkage-name-len
+@kindex show display-linkage-name-len
+@cindex list linker symbol names
            ^^^^^^^^^^^^^^^^^^^^^^^^
Copy/paste error?  You already have an identical index entry a few
lines above.

Oops.


+@item set display-linkage-name-len @var{len}
+@itemx show display-linkage-name-len @var{len}
+Set the maximum number of characters of linkage name to display.  The
+@code{show} command displays the current setting.  The default is @code{20}.

I think we don't need this setting.  After all, we show source-level
function names in their full glory, right?

Source level names are limited in size.  Linker names may be thousands
of characters long.


--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]