When store_sym_names_in_linkage_form_p was introduced in this commit:
commit
59cc4834e53565da1de4a7b615ed8890ed55c7da
Date: Tue Mar 27 08:57:16 2018 -0500
problem looking up some symbols when they have a linkage name
A special case was left behind for Go, however, this special case was
not really needed anymore, it could be handled by having
store_sym_names_in_linkage_form_p return the true for go, instead of
false.
This commit overrides store_sym_names_in_linkage_form_p for Go, and
then removes the special case. As store_sym_names_in_linkage_form_p
is only called once throughout GDB this should be perfectly safe.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* dwarf2/read.c (dwarf2_physname): Remove special case for
language_go.
* go-lang.c (go_language::store_sym_names_in_linkage_form_p): New
member function.
+2020-09-16 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * dwarf2/read.c (dwarf2_physname): Remove special case for
+ language_go.
+ * go-lang.c (go_language::store_sym_names_in_linkage_form_p): New
+ member function.
+
2020-09-16 Andrew Burgess <andrew.burgess@embecosm.com>
* ada-lang.c (ada_language_data): Remove
{
/* Do nothing (do not demangle the symbol name). */
}
- else if (cu->language == language_go)
- {
- /* This is a lie, but we already lie to the caller new_symbol.
- new_symbol assumes we return the mangled name.
- This just undoes that lie until things are cleaned up. */
- }
else
{
/* Use DMGL_RET_DROP for C++ template functions to suppress
&& go_classify_struct_type (type) == GO_TYPE_STRING);
}
+ /* See language.h. */
+
+ bool store_sym_names_in_linkage_form_p () const override
+ { return true; }
};
/* Single instance of the Go language class. */