aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/exported-sql-viewer.py
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2019-03-27 03:28:26 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-03-28 14:53:16 -0400
commit606bd60ab6fbcb7f73deeef4fa37cfd5e447a200 (patch)
tree74ae7a03a6b2767c645d38aba8191b451509a81c /tools/perf/scripts/python/exported-sql-viewer.py
parent8453c936db20489dbf0957187dca9a2656a2a7b6 (diff)
perf scripts python: exported-sql-viewer.py: Fix python3 support
Unlike python2, python3 strings are not compatible with byte strings. That results in disassembly not working for the branches reports. Fixup those places overlooked in the port to python3. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Fixes: beda0e725e5f ("perf script python: Add Python3 support to exported-sql-viewer.py") Link: http://lkml.kernel.org/r/20190327072826.19168-3-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
-rwxr-xr-xtools/perf/scripts/python/exported-sql-viewer.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
index 0cf30956064a..74ef92f1d19a 100755
--- a/tools/perf/scripts/python/exported-sql-viewer.py
+++ b/tools/perf/scripts/python/exported-sql-viewer.py
@@ -2908,9 +2908,13 @@ class LibXED():
2908 ok = self.xed_format_context(2, inst.xedp, inst.bufferp, sizeof(inst.buffer), ip, 0, 0) 2908 ok = self.xed_format_context(2, inst.xedp, inst.bufferp, sizeof(inst.buffer), ip, 0, 0)
2909 if not ok: 2909 if not ok:
2910 return 0, "" 2910 return 0, ""
2911 if sys.version_info[0] == 2:
2912 result = inst.buffer.value
2913 else:
2914 result = inst.buffer.value.decode()
2911 # Return instruction length and the disassembled instruction text 2915 # Return instruction length and the disassembled instruction text
2912 # For now, assume the length is in byte 166 2916 # For now, assume the length is in byte 166
2913 return inst.xedd[166], inst.buffer.value 2917 return inst.xedd[166], result
2914 2918
2915def TryOpen(file_name): 2919def TryOpen(file_name):
2916 try: 2920 try:
@@ -2926,9 +2930,14 @@ def Is64Bit(f):
2926 header = f.read(7) 2930 header = f.read(7)
2927 f.seek(pos) 2931 f.seek(pos)
2928 magic = header[0:4] 2932 magic = header[0:4]
2929 eclass = ord(header[4]) 2933 if sys.version_info[0] == 2:
2930 encoding = ord(header[5]) 2934 eclass = ord(header[4])
2931 version = ord(header[6]) 2935 encoding = ord(header[5])
2936 version = ord(header[6])
2937 else:
2938 eclass = header[4]
2939 encoding = header[5]
2940 version = header[6]
2932 if magic == chr(127) + "ELF" and eclass > 0 and eclass < 3 and encoding > 0 and encoding < 3 and version == 1: 2941 if magic == chr(127) + "ELF" and eclass > 0 and eclass < 3 and encoding > 0 and encoding < 3 and version == 1:
2933 result = True if eclass == 2 else False 2942 result = True if eclass == 2 else False
2934 return result 2943 return result