Add 'data_status' to record whether a dso has data (i.e. an object file) as follows:
dso->data_status meaning ---------------------------------- 0 don't know -1 no data 1 has data Signed-off-by: Adrian Hunter <adrian.hun...@intel.com> --- tools/perf/util/dso.c | 5 ++++- tools/perf/util/dso.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index fc006fe..91a4eb4 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -556,8 +556,11 @@ static ssize_t data_read_offset(struct dso *dso, u64 offset, ssize_t dso__data_read_offset(struct dso *dso, struct machine *machine, u64 offset, u8 *data, ssize_t size) { - if (dso__data_fd(dso, machine) < 0) + if (dso__data_fd(dso, machine) < 0) { + dso->data.data_status = -1; return -1; + } + dso->data.data_status = 1; return data_read_offset(dso, offset, data, size); } diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h index c239e86..c5257aa 100644 --- a/tools/perf/util/dso.h +++ b/tools/perf/util/dso.h @@ -104,6 +104,7 @@ struct dso { struct { struct rb_root cache; int fd; + int data_status; size_t file_size; struct list_head open_entry; } data; -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/