diff options
| -rw-r--r-- | tools/perf/util/dso.c | 8 | ||||
| -rw-r--r-- | tools/perf/util/dso.h | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index 64453d63b971..1c3cdaf228c1 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c | |||
| @@ -292,7 +292,7 @@ dso_cache__read(struct dso *dso, struct machine *machine, | |||
| 292 | 292 | ||
| 293 | cache->offset = cache_offset; | 293 | cache->offset = cache_offset; |
| 294 | cache->size = ret; | 294 | cache->size = ret; |
| 295 | dso_cache__insert(&dso->cache, cache); | 295 | dso_cache__insert(&dso->data.cache, cache); |
| 296 | 296 | ||
| 297 | ret = dso_cache__memcpy(cache, offset, data, size); | 297 | ret = dso_cache__memcpy(cache, offset, data, size); |
| 298 | 298 | ||
| @@ -310,7 +310,7 @@ static ssize_t dso_cache_read(struct dso *dso, struct machine *machine, | |||
| 310 | { | 310 | { |
| 311 | struct dso_cache *cache; | 311 | struct dso_cache *cache; |
| 312 | 312 | ||
| 313 | cache = dso_cache__find(&dso->cache, offset); | 313 | cache = dso_cache__find(&dso->data.cache, offset); |
| 314 | if (cache) | 314 | if (cache) |
| 315 | return dso_cache__memcpy(cache, offset, data, size); | 315 | return dso_cache__memcpy(cache, offset, data, size); |
| 316 | else | 316 | else |
| @@ -473,7 +473,7 @@ struct dso *dso__new(const char *name) | |||
| 473 | dso__set_short_name(dso, dso->name, false); | 473 | dso__set_short_name(dso, dso->name, false); |
| 474 | for (i = 0; i < MAP__NR_TYPES; ++i) | 474 | for (i = 0; i < MAP__NR_TYPES; ++i) |
| 475 | dso->symbols[i] = dso->symbol_names[i] = RB_ROOT; | 475 | dso->symbols[i] = dso->symbol_names[i] = RB_ROOT; |
| 476 | dso->cache = RB_ROOT; | 476 | dso->data.cache = RB_ROOT; |
| 477 | dso->symtab_type = DSO_BINARY_TYPE__NOT_FOUND; | 477 | dso->symtab_type = DSO_BINARY_TYPE__NOT_FOUND; |
| 478 | dso->binary_type = DSO_BINARY_TYPE__NOT_FOUND; | 478 | dso->binary_type = DSO_BINARY_TYPE__NOT_FOUND; |
| 479 | dso->loaded = 0; | 479 | dso->loaded = 0; |
| @@ -506,7 +506,7 @@ void dso__delete(struct dso *dso) | |||
| 506 | dso->long_name_allocated = false; | 506 | dso->long_name_allocated = false; |
| 507 | } | 507 | } |
| 508 | 508 | ||
| 509 | dso_cache__free(&dso->cache); | 509 | dso_cache__free(&dso->data.cache); |
| 510 | dso__free_a2l(dso); | 510 | dso__free_a2l(dso); |
| 511 | zfree(&dso->symsrc_filename); | 511 | zfree(&dso->symsrc_filename); |
| 512 | free(dso); | 512 | free(dso); |
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h index 38efe95a7fdd..7637fdd680b2 100644 --- a/tools/perf/util/dso.h +++ b/tools/perf/util/dso.h | |||
| @@ -76,7 +76,6 @@ struct dso { | |||
| 76 | struct list_head node; | 76 | struct list_head node; |
| 77 | struct rb_root symbols[MAP__NR_TYPES]; | 77 | struct rb_root symbols[MAP__NR_TYPES]; |
| 78 | struct rb_root symbol_names[MAP__NR_TYPES]; | 78 | struct rb_root symbol_names[MAP__NR_TYPES]; |
| 79 | struct rb_root cache; | ||
| 80 | void *a2l; | 79 | void *a2l; |
| 81 | char *symsrc_filename; | 80 | char *symsrc_filename; |
| 82 | unsigned int a2l_fails; | 81 | unsigned int a2l_fails; |
| @@ -99,6 +98,12 @@ struct dso { | |||
| 99 | const char *long_name; | 98 | const char *long_name; |
| 100 | u16 long_name_len; | 99 | u16 long_name_len; |
| 101 | u16 short_name_len; | 100 | u16 short_name_len; |
| 101 | |||
| 102 | /* dso data file */ | ||
| 103 | struct { | ||
| 104 | struct rb_root cache; | ||
| 105 | } data; | ||
| 106 | |||
| 102 | char name[0]; | 107 | char name[0]; |
| 103 | }; | 108 | }; |
| 104 | 109 | ||
