All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Borislav Petkov <bp@alien8.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	Jason Wessel <jason.wessel@windriver.com>,
	kgdb-bugreport@lists.sourceforge.net,
	Andi Kleen <andi@firstfloor.org>, Tom Tromey <tromey@redhat.com>,
	Ben Widawsky <ben@bwidawsk.net>, Michal Marek <mmarek@suse.cz>,
	linux-kbuild@vger.kernel.org
Subject: Re: [PATCH v4 01/13] scripts/gdb: Add infrastructure
Date: Wed, 23 Jan 2013 12:44:04 +0100	[thread overview]
Message-ID: <50FFCD04.2030207@siemens.com> (raw)
In-Reply-To: <20130123114157.GB4256@pd.tnic>

On 2013-01-23 12:41, Borislav Petkov wrote:
> On Mon, Jan 21, 2013 at 06:06:08PM +0100, Jan Kiszka wrote:
>> This provides the basic infrastructure to load kernel-specific python
>> helper scripts when debugging the kernel in gdb.
>>
>> The loading mechanism is based on gdb loading for <objfile>-gdb.py when
>> opening <objfile>. Therefore, this places a corresponding link to the
>> main helper script into the output directory that contains vmlinux.
>>
>> The main scripts will pull in submodules containing Linux specific gdb
>> commands and functions. To avoid polluting the source directory with
>> compiled python modules, we link to them from the object directory.
>>
>> Due to gdb.parse_and_eval, we depend on gdb >= 7.1. We need to
>> pre-process the version string returned by gdb as some distros tend to
>> prefix it with their name.
>>
>> This feature depends on CONFIG_DEBUG_INFO.
>>
>> CC: Michal Marek <mmarek@suse.cz>
>> CC: linux-kbuild@vger.kernel.org
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>>  Makefile                   |    5 ++++-
>>  scripts/Makefile           |    3 ++-
>>  scripts/gdb/Makefile       |    9 +++++++++
>>  scripts/gdb/utils.py       |   17 +++++++++++++++++
>>  scripts/gdb/vmlinux-gdb.py |   22 ++++++++++++++++++++++
>>  5 files changed, 54 insertions(+), 2 deletions(-)
>>  create mode 100644 scripts/gdb/Makefile
>>  create mode 100644 scripts/gdb/utils.py
>>  create mode 100644 scripts/gdb/vmlinux-gdb.py
>>
>> diff --git a/Makefile b/Makefile
>> index 253a455..fb18794 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -774,6 +774,9 @@ endif
>>  ifdef CONFIG_BUILD_DOCSRC
>>  	$(Q)$(MAKE) $(build)=Documentation
>>  endif
>> +ifdef CONFIG_DEBUG_INFO
>> +	$(Q)ln -fsn $(srctree)/scripts/gdb/vmlinux-gdb.py
>> +endif
> 
> I'm wondering whether it won't be a better idea to make this symlink
> creation in the toplevel directory only when a user requires it.. I.e.,
> not simply when CONFIG_DEBUG_INFO is enabled (it could be enabled for a
> lot and different reasons) but only when user wants to really debug the
> kernel with gdb.
> 
> Then, having a specific make target could arrange for all the setup like
> the symlink, gdb version checking, etc, maybe something like this:
> 
> $ make gdb
> 
> and all is prepared (or errored out with a sensible message).
> 
> Hmm....

I wonder why we should do this, remove the convenience of the automatic
script setup, but I'm open for arguments.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux

  reply	other threads:[~2013-01-23 11:45 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-21 17:06 [PATCH v4 00/13] Add gdb python scripts as kernel debugging helpers Jan Kiszka
2013-01-21 17:06 ` Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 01/13] scripts/gdb: Add infrastructure Jan Kiszka
2013-01-23 11:41   ` Borislav Petkov
2013-01-23 11:44     ` Jan Kiszka [this message]
2013-01-23 12:01       ` Borislav Petkov
2013-01-23 12:04         ` Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 02/13] scripts/gdb: Add container_of helper and convenience function Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 03/13] scripts/gdb: Add lx-symbols command Jan Kiszka
2013-01-21 21:19   ` Andi Kleen
2013-01-21 17:06 ` [PATCH v4 04/13] scripts/gdb: Add get_target_endianness helper Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 05/13] scripts/gdb: Add read_u16/32/64 helpers Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 06/13] scripts/gdb: Add lx-dmesg command Jan Kiszka
2013-01-21 21:20   ` Andi Kleen
2013-01-21 17:06 ` [PATCH v4 07/13] scripts/gdb: Add task iteration helper Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 08/13] scripts/gdb: Add helper and convenience function to look up tasks Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 09/13] scripts/gdb: Add is_target_arch helper Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 10/13] scripts/gdb: Add internal helper and convenience function to retrieve thread_info Jan Kiszka
2013-01-21 17:06   ` Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 11/13] scripts/gdb: Add get_gdbserver_type helper Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 12/13] scripts/gdb: Add internal helper and convenience function for per-cpu lookup Jan Kiszka
2013-01-21 17:06   ` Jan Kiszka
2013-01-21 17:06 ` [PATCH v4 13/13] scripts/gdb: Add lx_current convenience function Jan Kiszka
2013-01-21 21:21 ` [PATCH v4 00/13] Add gdb python scripts as kernel debugging helpers Andi Kleen
2013-01-21 21:21   ` Andi Kleen
2013-01-22  8:36   ` Jan Kiszka
2013-01-22  8:36     ` Jan Kiszka
2013-01-21 22:06 ` Ben Widawsky
2013-01-21 22:06   ` Ben Widawsky
2013-01-21 22:15 ` Andi Kleen
2013-01-21 22:15   ` Andi Kleen
2013-01-22  8:44   ` Jan Kiszka
2013-01-22  8:44     ` Jan Kiszka
2013-01-23 11:32 ` Borislav Petkov
2013-01-23 11:32   ` Borislav Petkov
2013-01-23 11:40   ` Jan Kiszka
2013-01-23 11:40     ` Jan Kiszka
2013-01-24 20:18 ` [PATCH v4 14/13] scripts/gdb: Add basic documentation Jan Kiszka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50FFCD04.2030207@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=ben@bwidawsk.net \
    --cc=bp@alien8.de \
    --cc=jason.wessel@windriver.com \
    --cc=kgdb-bugreport@lists.sourceforge.net \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.