|
@@ -468,6 +468,7 @@ static int __open_dso(struct dso *dso, struct machine *machine)
|
|
int fd = -EINVAL;
|
|
int fd = -EINVAL;
|
|
char *root_dir = (char *)"";
|
|
char *root_dir = (char *)"";
|
|
char *name = malloc(PATH_MAX);
|
|
char *name = malloc(PATH_MAX);
|
|
|
|
+ bool decomp = false;
|
|
|
|
|
|
if (!name)
|
|
if (!name)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
@@ -491,12 +492,13 @@ static int __open_dso(struct dso *dso, struct machine *machine)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ decomp = true;
|
|
strcpy(name, newpath);
|
|
strcpy(name, newpath);
|
|
}
|
|
}
|
|
|
|
|
|
fd = do_open(name);
|
|
fd = do_open(name);
|
|
|
|
|
|
- if (dso__needs_decompress(dso))
|
|
|
|
|
|
+ if (decomp)
|
|
unlink(name);
|
|
unlink(name);
|
|
|
|
|
|
out:
|
|
out:
|