]> sourceware.org Git - systemtap.git/commitdiff
PR20307: fix references to private global in tapset
authorFrank Ch. Eigler <fche@redhat.com>
Thu, 30 Jun 2016 16:08:07 +0000 (12:08 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Thu, 30 Jun 2016 16:08:07 +0000 (12:08 -0400)
Previous code could not resolve a reference to a private global
(defined in a tapset) within a probe alias (from that same tapset).
We now try matching up the mangled name in addition to the plain one
in symresolution_info::find_var() when searching the
session.library_files[].globals.

elaborate.cxx

index 4a375d98098b340714e1ba7a4c711cf11b8d4f70..740e30c4bb74c42e5e667a3ad87cf1442d5ce32a 100644 (file)
@@ -2732,7 +2732,8 @@ symresolution_info::find_var (interned_string name, int arity, const token* tok)
       for (unsigned j=0; j<f->globals.size(); j++)
         {
           vardecl* g = f->globals[j];
-          if (g->name == gname)
+          if ((g->name == gname) ||
+              (g->name == pname)) // private global within tapset
             {
              g->set_arity (arity, tok);
 
This page took 0.033548 seconds and 5 git commands to generate.