Commit b3b08429 authored by Kieran Bingham's avatar Kieran Bingham Committed by Linus Torvalds

scripts/gdb: decode bytestream on dmesg for Python3

The recent fixes to lx-dmesg, now allow the command to print
successfully on Python3, however the python interpreter wraps the bytes
for each line with a b'<text>' marker.

To remove this, we need to decode the line, where .decode() will default
to 'UTF-8'

Link: http://lkml.kernel.org/r/d67ccf93f2479c94cb3399262b9b796e0dbefcf2.1462865983.git.jan.kiszka@siemens.comSigned-off-by: default avatarKieran Bingham <kieran@bingham.xyz>
Acked-by: default avatarDom Cote <buzdelabuz2@gmail.com>
Tested-by: default avatarDom Cote <buzdelabuz2@gmail.com>
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d21d5b9e
...@@ -51,10 +51,10 @@ class LxDmesg(gdb.Command): ...@@ -51,10 +51,10 @@ class LxDmesg(gdb.Command):
continue continue
text_len = utils.read_u16(log_buf[pos + 10:pos + 12]) text_len = utils.read_u16(log_buf[pos + 10:pos + 12])
text = log_buf[pos + 16:pos + 16 + text_len] text = log_buf[pos + 16:pos + 16 + text_len].decode()
time_stamp = utils.read_u64(log_buf[pos:pos + 8]) time_stamp = utils.read_u64(log_buf[pos:pos + 8])
for line in memoryview(text).tobytes().splitlines(): for line in text.splitlines():
gdb.write("[{time:12.6f}] {line}\n".format( gdb.write("[{time:12.6f}] {line}\n".format(
time=time_stamp / 1000000000.0, time=time_stamp / 1000000000.0,
line=line)) line=line))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment