From: Pedro Alves <palves@redhat.com>
To: Max Filippov <jcmvbkbc@gmail.com>
Cc: gdb-patches@sourceware.org, Maxim Grigoriev <maxim2405@gmail.com>,
Woody LaRue <larue@cadence.com>,
Marc Gauthier <marc@cadence.com>,
"linux-xtensa@linux-xtensa.org"
<linux-xtensa@linux-xtensa.org>,
Baruch Siach <baruch@tkos.co.il>
Subject: Re: [PATCH] gdb: fix xtensa build with custom overlay
Date: Fri, 17 Apr 2015 17:24:00 -0000 [thread overview]
Message-ID: <553141C3.3040101@redhat.com> (raw)
In-Reply-To: <CAMo8BfK_Z0uJYT1c8rkyZsxkXqWWxs6Cpb67aapi_cVj8rn9pg@mail.gmail.com>
On 04/17/2015 05:45 PM, Max Filippov wrote:
> 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.
I don't know about much more changes. We really shouldn't promise not to
break out-of-tree changes. The point is this is quite brittle, and I think as
is, the onus should be on you to keep it working. Nothing tells us that we
might want or need to do an across-the-tree change that breaks all this. For
example, for the ongoing C++ conversion. It seems that the best solution
would be to design a mechanism to load this information into gdb dynamically,
either through the xml target description mechanism, or through some new Python
hook that reads an xtensa-specific description file.
Thanks,
Pedro Alves
prev parent reply other threads:[~2015-04-17 17:24 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-17 16:12 Max Filippov
2015-04-17 16:21 ` Pedro Alves
2015-04-17 16:46 ` Max Filippov
2015-04-17 17:24 ` Pedro Alves [this message]
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=553141C3.3040101@redhat.com \
--to=palves@redhat.com \
--cc=baruch@tkos.co.il \
--cc=gdb-patches@sourceware.org \
--cc=jcmvbkbc@gmail.com \
--cc=larue@cadence.com \
--cc=linux-xtensa@linux-xtensa.org \
--cc=marc@cadence.com \
--cc=maxim2405@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox