* [PATCH 0/2] Linux Kernel Debugger GDB extensions
@ 2016-01-07 12:52 Kieran Bingham
2016-01-07 12:52 ` [PATCH 1/2] scripts/gdb: Add version command Kieran Bingham
2016-01-07 12:52 ` [PATCH 2/2] scripts/gdb: Add cmdline reader command Kieran Bingham
0 siblings, 2 replies; 6+ messages in thread
From: Kieran Bingham @ 2016-01-07 12:52 UTC (permalink / raw)
To: jan.kiszka, linux-kernel
Cc: peter.griffin, lee.jones, maxime.coquelin, Kieran Bingham
ST Microelectronics provides a set of debugging tools, customised to attach
and debug a running (or crashed) linux kernel based on GDB. As part of working
towards providing this functionality upstream, a number of commands can be
written using the new CONFIG_GDB_SCRIPTS facilities.
Here, as a means to introducing the work which is ongoing, are two initial
(simple) commands which allow the user to identify the kernel version and
command line used to boot.
lx-cmdline Report the Linux Commandline used in the current kernel.
lx-version Report the Linux Version of the current kernel.
Based on the existing LKD project, follow up work will aim to provide similar
facilities for:
/proc/iomem
/proc/ioports
/proc/mounts
/proc/interrupts
/proc/meminfo
The larger scale project also aims to provide thread integration into GDB,
and userspace frame walking where possible.
Kieran Bingham (2):
scripts/gdb: Add version command
scripts/gdb: Add cmdline reader command
scripts/gdb/linux/proc.py | 40 ++++++++++++++++++++++++++++++++++++++++
scripts/gdb/vmlinux-gdb.py | 1 +
2 files changed, 41 insertions(+)
create mode 100644 scripts/gdb/linux/proc.py
--
2.5.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] scripts/gdb: Add version command
2016-01-07 12:52 [PATCH 0/2] Linux Kernel Debugger GDB extensions Kieran Bingham
@ 2016-01-07 12:52 ` Kieran Bingham
2016-01-09 16:02 ` Jan Kiszka
2016-01-07 12:52 ` [PATCH 2/2] scripts/gdb: Add cmdline reader command Kieran Bingham
1 sibling, 1 reply; 6+ messages in thread
From: Kieran Bingham @ 2016-01-07 12:52 UTC (permalink / raw)
To: jan.kiszka, linux-kernel
Cc: peter.griffin, lee.jones, maxime.coquelin, Kieran Bingham
lx-version Report the Linux Version of the current kernel.
Add a command to identify the version specified by the banner in the
debugged kernel.
This lets the user identify the kernel of the running kernel, and will
let later scripts compare the banner of the attached kernel against the
banner in the vmlinux symbols files to verify that the files are correct.
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
---
scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
scripts/gdb/vmlinux-gdb.py | 1 +
2 files changed, 28 insertions(+)
create mode 100644 scripts/gdb/linux/proc.py
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
new file mode 100644
index 000000000000..7a2afe60416a
--- /dev/null
+++ b/scripts/gdb/linux/proc.py
@@ -0,0 +1,27 @@
+#
+# gdb helper commands and functions for Linux kernel debugging
+#
+# Kernel proc information reader
+#
+# Copyright (c) 2016 Linaro Ltd
+#
+# Authors:
+# Kieran Bingham <kieran.bingham@linaro.org>
+#
+# This work is licensed under the terms of the GNU GPL version 2.
+#
+
+import gdb
+
+class LxVersion(gdb.Command):
+ """ Report the Linux Version of the current kernel.
+ Equivalent to cat /proc/version on a running target
+ """
+ def __init__(self):
+ super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ # linux_banner should contain a newline
+ gdb.write(gdb.parse_and_eval("linux_banner").string())
+
+LxVersion()
diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
index ce82bf5c3943..d5943eca19cd 100644
--- a/scripts/gdb/vmlinux-gdb.py
+++ b/scripts/gdb/vmlinux-gdb.py
@@ -29,3 +29,4 @@ else:
import linux.tasks
import linux.cpus
import linux.lists
+ import linux.proc
--
2.5.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] scripts/gdb: Add cmdline reader command
2016-01-07 12:52 [PATCH 0/2] Linux Kernel Debugger GDB extensions Kieran Bingham
2016-01-07 12:52 ` [PATCH 1/2] scripts/gdb: Add version command Kieran Bingham
@ 2016-01-07 12:52 ` Kieran Bingham
1 sibling, 0 replies; 6+ messages in thread
From: Kieran Bingham @ 2016-01-07 12:52 UTC (permalink / raw)
To: jan.kiszka, linux-kernel
Cc: peter.griffin, lee.jones, maxime.coquelin, Kieran Bingham
lx-cmdline Report the Linux Commandline used in the current kernel
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
---
scripts/gdb/linux/proc.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
index 7a2afe60416a..4063ef65e160 100644
--- a/scripts/gdb/linux/proc.py
+++ b/scripts/gdb/linux/proc.py
@@ -13,6 +13,19 @@
import gdb
+class LxCmdLine(gdb.Command):
+ """ Report the Linux Commandline used in the current kernel.
+ Equivalent to cat /proc/cmdline on a running target
+ """
+
+ def __init__(self):
+ super(LxCmdLine, self).__init__("lx-cmdline", gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ gdb.write(gdb.parse_and_eval("saved_command_line").string() + "\n")
+
+LxCmdLine()
+
class LxVersion(gdb.Command):
""" Report the Linux Version of the current kernel.
Equivalent to cat /proc/version on a running target
--
2.5.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] scripts/gdb: Add version command
2016-01-07 12:52 ` [PATCH 1/2] scripts/gdb: Add version command Kieran Bingham
@ 2016-01-09 16:02 ` Jan Kiszka
2016-01-09 16:29 ` Kieran Bingham
0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2016-01-09 16:02 UTC (permalink / raw)
To: Kieran Bingham, linux-kernel; +Cc: peter.griffin, lee.jones, maxime.coquelin
[-- Attachment #1: Type: text/plain, Size: 2554 bytes --]
On 2016-01-07 13:52, Kieran Bingham wrote:
> lx-version Report the Linux Version of the current kernel.
>
> Add a command to identify the version specified by the banner in the
> debugged kernel.
>
> This lets the user identify the kernel of the running kernel, and will
> let later scripts compare the banner of the attached kernel against the
> banner in the vmlinux symbols files to verify that the files are correct.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
> ---
> scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
> scripts/gdb/vmlinux-gdb.py | 1 +
> 2 files changed, 28 insertions(+)
> create mode 100644 scripts/gdb/linux/proc.py
>
> diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
> new file mode 100644
> index 000000000000..7a2afe60416a
> --- /dev/null
> +++ b/scripts/gdb/linux/proc.py
> @@ -0,0 +1,27 @@
> +#
> +# gdb helper commands and functions for Linux kernel debugging
> +#
> +# Kernel proc information reader
> +#
> +# Copyright (c) 2016 Linaro Ltd
> +#
> +# Authors:
> +# Kieran Bingham <kieran.bingham@linaro.org>
> +#
> +# This work is licensed under the terms of the GNU GPL version 2.
> +#
> +
> +import gdb
> +
pep8 says:
scripts/gdb/linux/proc.py:16:1: E302 expected 2 blank lines, found 1
> +class LxVersion(gdb.Command):
> + """ Report the Linux Version of the current kernel.
> + Equivalent to cat /proc/version on a running target
> + """
Minor thing, but for the sake of consistency: Moving the """ into a new
line gives an additional empty line at the end of the help output. Other
commands, also gdb built-ins, don't do this.
> + def __init__(self):
> + super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
> +
> + def invoke(self, arg, from_tty):
> + # linux_banner should contain a newline
> + gdb.write(gdb.parse_and_eval("linux_banner").string())
> +
> +LxVersion()
> diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
> index ce82bf5c3943..d5943eca19cd 100644
> --- a/scripts/gdb/vmlinux-gdb.py
> +++ b/scripts/gdb/vmlinux-gdb.py
> @@ -29,3 +29,4 @@ else:
> import linux.tasks
> import linux.cpus
> import linux.lists
> + import linux.proc
>
Two options: I can adjust these (and the corresponding issues in patch
2) myself before sending out a merge request to Andrew. Or, if you have
more in your queue, I'll wait for a potential longer v2 round. Just let
me know.
Thanks,
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] scripts/gdb: Add version command
2016-01-09 16:02 ` Jan Kiszka
@ 2016-01-09 16:29 ` Kieran Bingham
0 siblings, 0 replies; 6+ messages in thread
From: Kieran Bingham @ 2016-01-09 16:29 UTC (permalink / raw)
To: Jan Kiszka, linux-kernel; +Cc: peter.griffin, lee.jones, maxime.coquelin
Hi Jan
On 09/01/16 16:02, Jan Kiszka wrote:
> On 2016-01-07 13:52, Kieran Bingham wrote:
>> lx-version Report the Linux Version of the current kernel.
>>
>> Add a command to identify the version specified by the banner in the
>> debugged kernel.
>>
>> This lets the user identify the kernel of the running kernel, and will
>> let later scripts compare the banner of the attached kernel against the
>> banner in the vmlinux symbols files to verify that the files are correct.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
>> ---
>> scripts/gdb/linux/proc.py | 27 +++++++++++++++++++++++++++
>> scripts/gdb/vmlinux-gdb.py | 1 +
>> 2 files changed, 28 insertions(+)
>> create mode 100644 scripts/gdb/linux/proc.py
>>
>> diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
>> new file mode 100644
>> index 000000000000..7a2afe60416a
>> --- /dev/null
>> +++ b/scripts/gdb/linux/proc.py
>> @@ -0,0 +1,27 @@
>> +#
>> +# gdb helper commands and functions for Linux kernel debugging
>> +#
>> +# Kernel proc information reader
>> +#
>> +# Copyright (c) 2016 Linaro Ltd
>> +#
>> +# Authors:
>> +# Kieran Bingham <kieran.bingham@linaro.org>
>> +#
>> +# This work is licensed under the terms of the GNU GPL version 2.
>> +#
>> +
>> +import gdb
>> +
> pep8 says:
>
> scripts/gdb/linux/proc.py:16:1: E302 expected 2 blank lines, found 1
My apologies - I should have run those checks before I sent the patches.
I've added it to my checklist, to make sure I do, for any more that I send.
>
>> +class LxVersion(gdb.Command):
>> + """ Report the Linux Version of the current kernel.
>> + Equivalent to cat /proc/version on a running target
>> + """
> Minor thing, but for the sake of consistency: Moving the """ into a new
> line gives an additional empty line at the end of the help output. Other
> commands, also gdb built-ins, don't do this.
And, I'll try to make sure I copy the style correctly for any follow-ups!
>
>> + def __init__(self):
>> + super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
>> +
>> + def invoke(self, arg, from_tty):
>> + # linux_banner should contain a newline
>> + gdb.write(gdb.parse_and_eval("linux_banner").string())
>> +
>> +LxVersion()
>> diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py
>> index ce82bf5c3943..d5943eca19cd 100644
>> --- a/scripts/gdb/vmlinux-gdb.py
>> +++ b/scripts/gdb/vmlinux-gdb.py
>> @@ -29,3 +29,4 @@ else:
>> import linux.tasks
>> import linux.cpus
>> import linux.lists
>> + import linux.proc
>>
> Two options: I can adjust these (and the corresponding issues in patch
> 2) myself before sending out a merge request to Andrew. Or, if you have
> more in your queue, I'll wait for a potential longer v2 round. Just let
> me know.
>
> Thanks,
> Jan
If you're happy to do the fix-ups that's fine by me.
These two are simple and standalone, so I don't see any point in holding
them back.
--
Regards
Kieran
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] scripts/gdb: Add cmdline reader command
2016-01-11 10:47 [PATCH 0/2] scripts/gdb: Updates for 4.5 Jan Kiszka
@ 2016-01-11 10:47 ` Jan Kiszka
0 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2016-01-11 10:47 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, Kieran Bingham
From: Kieran Bingham <kieran.bingham@linaro.org>
lx-cmdline Report the Linux Commandline used in the current kernel
Signed-off-by: Kieran Bingham <kieran.bingham@linaro.org>
[Jan: remove blank line from help output and fix pep8 warning]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
scripts/gdb/linux/proc.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
index 8a733dd..6e6709c 100644
--- a/scripts/gdb/linux/proc.py
+++ b/scripts/gdb/linux/proc.py
@@ -14,6 +14,19 @@
import gdb
+class LxCmdLine(gdb.Command):
+ """ Report the Linux Commandline used in the current kernel.
+ Equivalent to cat /proc/cmdline on a running target"""
+
+ def __init__(self):
+ super(LxCmdLine, self).__init__("lx-cmdline", gdb.COMMAND_DATA)
+
+ def invoke(self, arg, from_tty):
+ gdb.write(gdb.parse_and_eval("saved_command_line").string() + "\n")
+
+LxCmdLine()
+
+
class LxVersion(gdb.Command):
""" Report the Linux Version of the current kernel.
Equivalent to cat /proc/version on a running target"""
--
2.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-01-11 11:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-07 12:52 [PATCH 0/2] Linux Kernel Debugger GDB extensions Kieran Bingham
2016-01-07 12:52 ` [PATCH 1/2] scripts/gdb: Add version command Kieran Bingham
2016-01-09 16:02 ` Jan Kiszka
2016-01-09 16:29 ` Kieran Bingham
2016-01-07 12:52 ` [PATCH 2/2] scripts/gdb: Add cmdline reader command Kieran Bingham
2016-01-11 10:47 [PATCH 0/2] scripts/gdb: Updates for 4.5 Jan Kiszka
2016-01-11 10:47 ` [PATCH 2/2] scripts/gdb: Add cmdline reader command Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.