forked from Imagelibrary/binutils-gdb
gdb: Override store_sym_names_in_linkage_form_p for Go language
When store_sym_names_in_linkage_form_p was introduced in this commit:
commit 59cc4834e5
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.
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
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>
|
2020-09-16 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
* ada-lang.c (ada_language_data): Remove
|
* ada-lang.c (ada_language_data): Remove
|
||||||
|
|||||||
@@ -10639,12 +10639,6 @@ dwarf2_physname (const char *name, struct die_info *die, struct dwarf2_cu *cu)
|
|||||||
{
|
{
|
||||||
/* Do nothing (do not demangle the symbol name). */
|
/* 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
|
else
|
||||||
{
|
{
|
||||||
/* Use DMGL_RET_DROP for C++ template functions to suppress
|
/* Use DMGL_RET_DROP for C++ template functions to suppress
|
||||||
|
|||||||
@@ -638,6 +638,10 @@ public:
|
|||||||
&& go_classify_struct_type (type) == GO_TYPE_STRING);
|
&& 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. */
|
/* Single instance of the Go language class. */
|
||||||
|
|||||||
Reference in New Issue
Block a user