aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--gcc/go/gofrontend/types.cc5
-rw-r--r--libgo/runtime/go-callers.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 3fb2a3e..4f095c4 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-a408bef550251926c28673818db2c64302faac1d
+c70e74c116d08c6f2e787551eb1366983815c032
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc
index c43d064..0443281 100644
--- a/gcc/go/gofrontend/types.cc
+++ b/gcc/go/gofrontend/types.cc
@@ -9632,13 +9632,14 @@ Type::build_stub_methods(Gogo* gogo, const Type* type, const Methods* methods,
package = NULL;
else
package = type->named_type()->named_object()->package();
+ std::string stub_name = name + "$stub";
Named_object* stub;
if (package != NULL)
- stub = Named_object::make_function_declaration(name, package,
+ stub = Named_object::make_function_declaration(stub_name, package,
stub_type, location);
else
{
- stub = gogo->start_function(name, stub_type, false,
+ stub = gogo->start_function(stub_name, stub_type, false,
fntype->location());
Type::build_one_stub_method(gogo, m, buf, stub_params,
fntype->is_varargs(), location);
diff --git a/libgo/runtime/go-callers.c b/libgo/runtime/go-callers.c
index b5ab3be..0c1c603 100644
--- a/libgo/runtime/go-callers.c
+++ b/libgo/runtime/go-callers.c
@@ -74,6 +74,8 @@ callback (void *data, uintptr_t pc, const char *filename, int lineno,
p = __builtin_strrchr (function, '$');
if (p != NULL && __builtin_strcmp(p, "$recover") == 0)
return 0;
+ if (p != NULL && __builtin_strncmp(p, "$stub", 5) == 0)
+ return 0;
}
if (arg->skip > 0)