perf annotate: Don't truncate Intel style addresses
Instructions like "mov r9,QWORD PTR [rdx+0x8]" were being truncated to "mov r9,QWORD" by code that assuemd operands cannot have spaces. Signed-off-by: Alex Converse <aconverse@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1408050180-14088-1-git-send-email-aconverse@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
92561cb788
commit
1e2bb043f1
|
@ -232,9 +232,16 @@ static int mov__parse(struct ins_operands *ops)
|
|||
return -1;
|
||||
|
||||
target = ++s;
|
||||
comment = strchr(s, '#');
|
||||
|
||||
while (s[0] != '\0' && !isspace(s[0]))
|
||||
++s;
|
||||
if (comment != NULL)
|
||||
s = comment - 1;
|
||||
else
|
||||
s = strchr(s, '\0') - 1;
|
||||
|
||||
while (s > target && isspace(s[0]))
|
||||
--s;
|
||||
s++;
|
||||
prev = *s;
|
||||
*s = '\0';
|
||||
|
||||
|
@ -244,7 +251,6 @@ static int mov__parse(struct ins_operands *ops)
|
|||
if (ops->target.raw == NULL)
|
||||
goto out_free_source;
|
||||
|
||||
comment = strchr(s, '#');
|
||||
if (comment == NULL)
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue