diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /tools/perf/util/trace-event-read.c | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'tools/perf/util/trace-event-read.c')
| -rw-r--r-- | tools/perf/util/trace-event-read.c | 28 | 
1 files changed, 13 insertions, 15 deletions
| diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c index 54d9e9b548a8..b67a0ccf5ab9 100644 --- a/tools/perf/util/trace-event-read.c +++ b/tools/perf/util/trace-event-read.c @@ -162,25 +162,23 @@ out:  static int read_proc_kallsyms(struct pevent *pevent)  {  	unsigned int size; -	char *buf;  	size = read4(pevent);  	if (!size)  		return 0; - -	buf = malloc(size + 1); -	if (buf == NULL) -		return -1; - -	if (do_read(buf, size) < 0) { -		free(buf); -		return -1; -	} -	buf[size] = '\0'; - -	parse_proc_kallsyms(pevent, buf, size); - -	free(buf); +	/* +	 * Just skip it, now that we configure libtraceevent to use the +	 * tools/perf/ symbol resolver. +	 * +	 * We need to skip it so that we can continue parsing old perf.data +	 * files, that contains this /proc/kallsyms payload. +	 * +	 * Newer perf.data files will have just the 4-bytes zeros "kallsyms +	 * payload", so that older tools can continue reading it and interpret +	 * it as "no kallsyms payload is present". +	 */ +	lseek(input_fd, size, SEEK_CUR); +	trace_data_size += size;  	return 0;  } |