This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH V2 2/5] Preparation for new siginfo on Linux.
- From: Pedro Alves <palves at redhat dot com>
- To: Walfred Tedeschi <walfred dot tedeschi at intel dot com>, brobecker at adacore dot com
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 18 Dec 2015 12:39:20 +0000
- Subject: Re: [PATCH V2 2/5] Preparation for new siginfo on Linux.
- Authentication-results: sourceware.org; auth=none
- References: <1450371416-24270-1-git-send-email-walfred dot tedeschi at intel dot com> <1450371416-24270-2-git-send-email-walfred dot tedeschi at intel dot com>
On 12/17/2015 04:56 PM, Walfred Tedeschi wrote:
> First add new structure and function to allow architecture customization
> for the siginfo structure.
>
> 2015-12-15 Walfred Tedeschi <walfred.tedeschi@intel.com>
>
> * linux-tdep.h (linux_siginfo_extra_field_values): New enum values.
> (linux_siginfo_extra_fields): New enum type.
(linux_siginfo_extra_fields): New enum_flags type.
> * linux-tdep.c (linux_get_siginfo_type_with_fields): New function.
> (linux_get_siginfo_type): Uses new function.
* linux-tdep.c (linux_get_siginfo_type): Rename to ...
(linux_get_siginfo_type_with_fields): ... this. Add parameter.
(linux_get_siginfo_type): Reimplement as wrapper around
linux_get_siginfo_type_with_fields.
> diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
> index 9beb6f6..c0c9d91 100644
> --- a/gdb/linux-tdep.h
> +++ b/gdb/linux-tdep.h
> @@ -24,6 +24,15 @@
>
Should include common/enum-flags.h. (And mention it in ChangeLog.)
> struct regcache;
>
> +/* Enum used to define which kind of siginfo is used by the architecture. */
I'd suggest:
/* Flag values indicating the extra fields in an architecture's
siginfo_t type. */
> +enum linux_siginfo_extra_field_values
> +{
> + LINUX_SIGINFO_FIELD_ADDR_BND = 1
Please document the value.
> +};
> +
> +/* Defines a type for the values defined in linux_siginfo_extra_field_values. */
I think you can just say:
/* Define the corresponding enum_flags type. */
> +DEF_ENUM_FLAGS_TYPE (enum linux_siginfo_extra_field_values, linux_siginfo_extra_fields);
> +
> typedef char *(*linux_collect_thread_registers_ftype) (const struct regcache *,
> ptid_t,
> bfd *, char *, int *,
Thanks,
Pedro Alves