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 V2 2/5] Preparation for new siginfo on Linux.


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


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