This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] aarch64-tdep basic port.
- From: Pedro Alves <palves at redhat dot com>
- To: Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Fri, 25 Jan 2013 17:58:24 +0000
- Subject: Re: [PATCH] aarch64-tdep basic port.
- References: <51028E3D.4030708@arm.com>
On 01/25/2013 01:53 PM, Marcus Shawcroft wrote:
> By default we are not assuming any specific libc and hence not installing a longjmp handler via set_gdbarch_get_longjmp_target.
I see.
>>> +/* Implement the "addr_bits_remove" gdbarch method. */
>>> +
>>> +static CORE_ADDR
>>> +aarch64_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR val)
>>> +{
>>> + /* All instructions are 4-byte aligned. */
>>> + return val & ~(CORE_ADDR) 0x3;
>>> +}
>>
>> Excuse the ignorance, but why do you need this? Does
>> Aarch64 do any magic low address encoding, like arm/thumb?
>
> In the AArch64 execution state all instructions are 4 byte aligned with the least significant two bits reserved.
Okay. Seems odd to me to just be clear the low bits and
doing nothing else if they're "reserved", instead of waiting
until they do have some meaning (at which point GDB will
necessarily need to learn to do something about them). Does
actually end up seeing non-4 bytes instructions today somehow?
--
Pedro Alves