[AArch64][6/6] Core file support for "pauth" feature

Pedro Alves palves@redhat.com
Thu Aug 10 11:08:00 GMT 2017


On 08/09/2017 01:23 PM, Jiong Wang wrote:

>  /* Implementation of `gdbarch_stap_is_single_operand', as defined in
> diff --git a/gdb/aarch64-linux-tdep.h b/gdb/aarch64-linux-tdep.h
> index d0f9b12..580a8b8 100644
> --- a/gdb/aarch64-linux-tdep.h
> +++ b/gdb/aarch64-linux-tdep.h
> @@ -29,6 +29,14 @@
>     are 4 bytes wide each, and the whole structure is padded to 128 bit
>     alignment.  */
>  #define AARCH64_LINUX_SIZEOF_FPREGSET (33 * V_REGISTER_SIZE)
> +#define AARCH64_LINUX_SIZEOF_PAUTH (2 * X_REGISTER_SIZE)
>  
>  extern const struct regset aarch64_linux_gregset;
>  extern const struct regset aarch64_linux_fpregset;
> +extern const struct regset aarch64_linux_pauthregset;
> +
> +#ifndef HWCAP_APIA
> +/* AArch64 GNU/Linux HWCAP values.  These should be synced with kernel
> +   definitions.  */
> +#define HWCAP_APIA (1 << 16)
> +#endif

Re. the #ifndef, consider that tdep.h files are included in cross
debugger builds.  E.g., an x86-hosted gdb cross debugging aarch64.
Some archs have "namespaced" names like the s390 mips, sparc, etc.
(e.g., HWCAP_S390_VX) which avoids the case of the names being defined
on host/target with a different meanings/values, but not all do.
But even with such names, we always have to provide fallback definitions
for cross debuggers.  And with that all in mind, and since you're defining
fallbacks anyway, how about unconditionally defining/using our
own conflict-resistant versions, like AARCH64_HWCAP_APIA?

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list