Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754136AbbK0INj (ORCPT ); Fri, 27 Nov 2015 03:13:39 -0500 Received: from mail-pa0-f49.google.com ([209.85.220.49]:32839 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751302AbbK0INg convert rfc822-to-8bit (ORCPT ); Fri, 27 Nov 2015 03:13:36 -0500 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.0 \(3094\)) Subject: Re: [PATCH V2] scripts: fix the sys path for gdb scripts From: yalin wang In-Reply-To: <56580070.2050309@siemens.com> Date: Fri, 27 Nov 2015 16:13:28 +0800 Cc: Andrew Morton , mmarek@suse.cz, linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: <6AD1C2AA-9F49-4799-9A8C-A583A2359050@gmail.com> References: <1448606469-25744-1-git-send-email-yalin.wang2010@gmail.com> <56580070.2050309@siemens.com> To: Jan Kiszka X-Mailer: Apple Mail (2.3094) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3508 Lines: 110 > On Nov 27, 2015, at 15:04, Jan Kiszka wrote: > > On 2015-11-27 07:41, yalin wang wrote: >> we insert __file__'s real path into sys.path, >> so that no matter we import the vmlinux-gdb.py from $OUT floder or >> from source code folder, we can always find the linux/ lib folder, >> and we don't need create link to linux/*.py files, >> remove the related make file. > > NACK again - I tell you why below. > >> >> Signed-off-by: yalin wang >> --- >> scripts/Makefile | 1 - >> scripts/gdb/Makefile | 1 - >> scripts/gdb/linux/Makefile | 11 ----------- >> scripts/gdb/vmlinux-gdb.py | 2 +- >> 4 files changed, 1 insertion(+), 14 deletions(-) >> delete mode 100644 scripts/gdb/Makefile >> delete mode 100644 scripts/gdb/linux/Makefile >> >> diff --git a/scripts/Makefile b/scripts/Makefile >> index 2016a64..72902b5 100644 >> --- a/scripts/Makefile >> +++ b/scripts/Makefile >> @@ -36,7 +36,6 @@ subdir-$(CONFIG_MODVERSIONS) += genksyms >> subdir-y += mod >> subdir-$(CONFIG_SECURITY_SELINUX) += selinux >> subdir-$(CONFIG_DTC) += dtc >> -subdir-$(CONFIG_GDB_SCRIPTS) += gdb >> >> # Let clean descend into subdirs >> subdir- += basic kconfig package >> diff --git a/scripts/gdb/Makefile b/scripts/gdb/Makefile >> deleted file mode 100644 >> index 62f5f65..0000000 >> --- a/scripts/gdb/Makefile >> +++ /dev/null >> @@ -1 +0,0 @@ >> -subdir-y := linux >> diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile >> deleted file mode 100644 >> index 6cf1ecf..0000000 >> --- a/scripts/gdb/linux/Makefile >> +++ /dev/null >> @@ -1,11 +0,0 @@ >> -always := gdb-scripts >> - >> -SRCTREE := $(shell cd $(srctree) && /bin/pwd) >> - >> -$(obj)/gdb-scripts: >> -ifneq ($(KBUILD_SRC),) >> - $(Q)ln -fsn $(SRCTREE)/$(obj)/*.py $(objtree)/$(obj) >> -endif >> - @: >> - >> -clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) > > This step I don't understand at all. Why do you want to destroy the > possibility to automatically load the scripts? Did you read > Documentation/gdb-kernel-debugging.txt in this regard? > >> diff --git a/scripts/gdb/vmlinux-gdb.py b/scripts/gdb/vmlinux-gdb.py >> index ce82bf5..a9029f4 100644 >> --- a/scripts/gdb/vmlinux-gdb.py >> +++ b/scripts/gdb/vmlinux-gdb.py >> @@ -13,7 +13,7 @@ >> >> import os >> >> -sys.path.insert(0, os.path.dirname(__file__) + "/scripts/gdb") >> +sys.path.insert(0, os.path.dirname(os.path.realpath(__file__))) > > This works only so far as that (if you don't destroy the link) the main > script will still find its modules. However, *.pyc files are then > generated in the source tree, no longer in the output dirs. The code is > designed to prevent this. > > You still don't explain to us why the existing code doesn't work for you > and how you prefer to use it instead. > > Jan > Thanks for your explanation, the reason i change it is because i was doing cross platform debug , debug arm platform on x86 host . and i only have source code on host , i don’t build it .. Then when i start up gdb-arm , i want load its gdb scripts from source code . that is the usage i need . i don’t want build kernel on all host when i just want debug an embedded platform occasionally . Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/