Re: Specifying target endianness via Remote Serial Protocol

Omer via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CALN5k-NB-PEHZ89EV6cD6DJsZX6qN5fz5n-Jqd4BosB7hB3zxQ@mail.gmail.com>
Will older gdb's really break if we send them fields they don't know? The
logical thing to do seems to me to just to discard them.
I want to use remote gdb without giving it an elf to work with locally (for
example if I want to debug some weird embedded system).
I can somewhat circumvent the problem by giving gdb an empty elf with my
wanted endianness, but I don't think it's the optimal solution.

On Mon, 13 Apr 2020 at 16:04, Luis Machado <[email protected]> wrote:

> Hi,
>
> On 4/12/20 9:02 AM, Omer via Gdb wrote:
> > Hi,
> >
> > While writing my own gdb stub, I noticed that there is no way to specify
> > what endianness the target is using (I guess the logical place for that
> > would be in the target.xml file).
> > One can use "set endian" manually to fix that, but when debugging an ARM
> > BE8 target, there is no way to specify that the code is little endian
> > (currently byte_order_for_code is initialized to little only when
> loading a
> > BE8 elf).
> > Shouldn't there be an additional field for target XML tag to specify
> that?
>
> We could probably extend the XML descriptions to incorporate this, but
> we may also have backwards compatibility issues with older GDB's by
> returning new fields the target doesn't know how to parse properly.
>
> The way to fix this, right now, would be to teach GDB about other arch
> variations using little endian, so GDB initializes the proper set of
> architecture hooks and types.
>
> What arch variation are you working with? Doesn't the tools generate a
> EF_ARM_BE8 flag to let GDB know it needs to assume little endian?
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.