This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] gdb: fix xtensa build with custom overlay


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]