From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de [194.138.37.39]) by mail.openembedded.org (Postfix) with ESMTP id 5DD677732F for ; Tue, 23 Feb 2016 14:09:56 +0000 (UTC) Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id u1NE9sEp025163 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 23 Feb 2016 15:09:54 +0100 Received: from [139.16.79.204] (MD1FZU9C.ww002.siemens.net [139.16.79.204]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id u1NE9sTl009288 for ; Tue, 23 Feb 2016 15:09:54 +0100 To: "openembedded-core@lists.openembedded.org" From: Pascal Bach X-Enigmail-Draft-Status: N1110 Message-ID: <56CC6832.90506@siemens.com> Date: Tue, 23 Feb 2016 15:09:54 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Subject: Debugging using sysroots and GDB X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Feb 2016 14:09:57 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi Everybody Currently debugging using sysroots seems to work as long as the work folder containing the original source is available. Once this work dir is gone the debugger is no longer able to find the source code. This is especially confusing if some packages are taken from sstate and others are built in the current projects, because for some libraries the sources can be found and for others not. It is hard at first to figure out the reason why one works and the other not. In order to make it easier to debug using sysroots I propose to modify the how the sysroots is built to do somethins similar to rootfs: 1. Changing the source reference in the debug symbols to point to the source under /usr/src/debug 2. Copy the sources into /usr/src/debug under sysroots similar to how it is done for a debug rootfs. 3. Document that the user needs to add the following to the .gdbinit to make it work: ``` set sysroot /project/oe/build/tmp/sysroots/ set substitute-path /usr/src/debug /project/oe/build/tmp/sysroots//usr/src/debug ``` This would also allow the sysroot to be relocatable as it is kind of standalone and everything required to debug is included. What do you think? Does this proposal make sense, or did I miss something and this is completly unnecessary and there is an easier way already working? Regards Pascal