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.com Signed-off-by: Kieran Bingham <kieran@bingham.xyz> Acked-by: Dom Cote <buzdelabuz2@gmail.com> Tested-by: Dom Cote <buzdelabuz2@gmail.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
d21d5b9eb0
Коммит
b3b0842985
|
@ -51,10 +51,10 @@ class LxDmesg(gdb.Command):
|
|||
continue
|
||||
|
||||
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])
|
||||
|
||||
for line in memoryview(text).tobytes().splitlines():
|
||||
for line in text.splitlines():
|
||||
gdb.write("[{time:12.6f}] {line}\n".format(
|
||||
time=time_stamp / 1000000000.0,
|
||||
line=line))
|
||||
|
|
Загрузка…
Ссылка в новой задаче