Re: [PATCH 5/7] Add support for software single step on ARM aarch32-linux in GDBServer.

Yao Qi
2015-09-14T16:10:14Z

Antoine Tremblay <antoine.tremblay@ericsson.com> writes:

> Usually it will be , however see commit :
> dcd4a3a4e7fc3912194d1346d2dfc6252f70b456
>
> Which I will partially quote here :
>
> "tdep->arm_breakpoint, tdep->thumb_breakpoint, tdep->thumb2_breakpoint
> should be set le_ variants in case of arm BE8 code. Those instruciton
> sequences are writen to target with simple write_memory, without
> regarding gdbarch_byte_order_for_code. But in BE8 case even data
> memory is in big endian form, instructions are still in little endian
> form."
>
> So in BE8 code the instructions are not of the same endianness as the
> data memory...

Do you want to support BE8 in GDBserver in your patches? If yes, please
split them out of your patch set. Current GDBserver doesn't consider
the difference of data endianness and instruction endianness, so you
don't have to worry about it too much, unless you really want to fix
problems on this.

>
> Also even if unlikely you could have a BE program being debugged in a
> LE GDBServer assuming the proper BE libs are also present on the
> system.

I don't think it is practical to do so...

>
> Thus, GDB makes no assumptions about the endianness being the same as
> it's own and I don't think GDBServer should either.

GDB makes no assumptions because GDB and inferior program may run on
different machine of different endianness. However, GDBserver and the
inferior program are running on the same machine, it can assume that.

--
Yao (齐尧)