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] aarch64-core.xml: 32-bit cpsr -> 64-bit pstate


Richard Earnshaw <Richard.Earnshaw@foss.arm.com> writes:

> Won't this also break any situation where the gdbserver knowledge is
> embedded in a HW stub?  You're assuming that we can just update all
> those servers and everything will be fine and dandy.  I don't think we
> can't just change this arbitrarily.

Yes, it will break any existing debugging stubs, including old gdbserver
and jtag probes, which think the register in the target description
(cpsr, psate or whatever) is 32-bit.

However, I don't assume "we can just update all those servers and
everything will be fine and dandy".  As I said in the first mail,
this change will break the compatibility.

AArch64 is still a new architecture, and there isn't much compatibility
burden as other old archs have.  Under this context, I think correctness
is more important than compatibility.  If we don't fix it now, we can't fix
it forever.  So it isn't an arbitrary change.

We did change the size of the register in the target description to
64-bit back and forth in 2013 and 2014, but I don't hear any complaints
on this from HW jtag probes providers.

>
> I think kgdb should do what everyone else has been doing and simply
> return the bottom 32 bits.

I think kgdb is correct.  I don't know what "everyone else" is.  As far
as I can see, openocd doesn't support aarch64 now, but there are some
patches to add aarch64 support http://openocd.zylin.com/#/c/2501/14
the register (named CPSR in the openocd patches) is 64-bit, which looks
right to me.

-- 
Yao (éå)


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