Merge tag 'kvm-arm-for-4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / probe-finder.c
index 2da65a7108932857bd585681eb0fac195f0c850b..29c43c0680a8fc0dbefbd9d35b5e6488d6807f40 100644 (file)
@@ -553,24 +553,9 @@ static int find_variable(Dwarf_Die *sc_die, struct probe_finder *pf)
        char buf[32], *ptr;
        int ret = 0;
 
-       if (!is_c_varname(pf->pvar->var)) {
-               /* Copy raw parameters */
-               pf->tvar->value = strdup(pf->pvar->var);
-               if (pf->tvar->value == NULL)
-                       return -ENOMEM;
-               if (pf->pvar->type) {
-                       pf->tvar->type = strdup(pf->pvar->type);
-                       if (pf->tvar->type == NULL)
-                               return -ENOMEM;
-               }
-               if (pf->pvar->name) {
-                       pf->tvar->name = strdup(pf->pvar->name);
-                       if (pf->tvar->name == NULL)
-                               return -ENOMEM;
-               } else
-                       pf->tvar->name = NULL;
-               return 0;
-       }
+       /* Copy raw parameters */
+       if (!is_c_varname(pf->pvar->var))
+               return copy_to_probe_trace_arg(pf->tvar, pf->pvar);
 
        if (pf->pvar->name)
                pf->tvar->name = strdup(pf->pvar->name);
@@ -1355,7 +1340,7 @@ static int add_available_vars(Dwarf_Die *sc_die, struct probe_finder *pf)
                 vl->point.offset);
 
        /* Find local variables */
-       vl->vars = strlist__new(true, NULL);
+       vl->vars = strlist__new(NULL, NULL);
        if (vl->vars == NULL)
                return -ENOMEM;
        af->child = true;