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-tdep basic port.


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


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