This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdb: fix xtensa build with custom overlay
- From: Max Filippov <jcmvbkbc at gmail dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org, Maxim Grigoriev <maxim2405 at gmail dot com>, Woody LaRue <larue at cadence dot com>, Marc Gauthier <marc at cadence dot com>, "linux-xtensa at linux-xtensa dot org" <linux-xtensa at linux-xtensa dot org>, Baruch Siach <baruch at tkos dot co dot il>
- Date: Fri, 17 Apr 2015 19:45:59 +0300
- Subject: Re: [PATCH] gdb: fix xtensa build with custom overlay
- Authentication-results: sourceware.org; auth=none
- References: <1429287116-20216-1-git-send-email-jcmvbkbc at gmail dot com> <55313315 dot 1010203 at redhat dot com>
On Fri, Apr 17, 2015 at 7:21 PM, Pedro Alves <palves@redhat.com> wrote:
> On 04/17/2015 05:11 PM, Max Filippov wrote:
>> The commit 14e361d7aa3bbd8601b0457ee8558344e444c651 ("xtensa-config.c:
>> missing defs.h include") fixed the build of default xtensa configuration
>> by including defs.h in the beginning of xtensa-config.c. Unfortunately
>> this fix doesn't work when gdb is configured for another xtensa core, as
>> the file xtensa-config.c is a part of configuration overlay and it gets
>> overwritten. To fix the build for all existing configurations include
>> defs.h into gdb/xtensa-tdep.h, where the issue (reference to undeclared
>> uint32_t) actually is.
>
> Hmm, I think that's news to me. Can you please expand a bit
> on why is this mechanism necessary?
xtensa cores may have greatly varying register and instruction sets,
depending on options configured at processor creation time. So parts
of gdb that deal with registers and instructions are generated during
processor build and need to be replaced in the gdb source code to
produce gdb that can work with a particular xtensa core.
> In any case, that mechanism must already by outputting:
>
> #include "xtensa-config.h"
> #include "xtensa-tdep.h"
>
> Just make it output #include "defs.h" as well?
Yes, that can be done for the newly generated files, but there are existing
configuration overlays which we need to patch in this case. It can be done,
it's just much more changes. And more importantly, builds that used to
work before 54bff650843cacd3c17a0afdb0fe32e15e1b65b0 "gdb: xtensa:
fix on 64-bit host" were broken by that change.
--
Thanks.
-- Max