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 V5 2/5] Use linux_get_siginfo_type_with_fields for x86


On 01/22/2016 02:54 PM, Walfred Tedeschi wrote:
> Use linux_get_siginfo_type_with_fields for adding bound fields on
> segmentation fault for i386/amd64 siginfo.
> 
> 2016-01-15  Walfred Tedeschi  <walfred.tedeschi@intel.com>
> 
> gdb/ChangeLog:
> 
> 	* linux-tdep.h (linux_get_siginfo_type_with_fields): Make extern.
> 	* linux-tdep.c (linux_get_siginfo_type_with_fields): Make extern.
> 	* i386-linux-tdep.h (x86_linux_get_siginfo_type): New
> 	function.
> 	* amd64-linux-tdep.c (amd64_linux_init_abi_common): Add
> 	x86_linux_get_siginfo_type for the amd64 abi.
> 	* i386-linux-tdep.c (x86_linux_get_siginfo_type): New
> 	Function.

"function", lowercase.

> 	(i386_linux_init_abi): Add new function at the i386 ABI
> 	initialization.
> 



> --- a/gdb/i386-linux-tdep.h
> +++ b/gdb/i386-linux-tdep.h
> @@ -72,4 +72,7 @@ extern struct target_desc *tdesc_i386_avx512_linux;
>  
>  extern int i386_linux_gregset_reg_offset[];
>  
> +/* Returns x86 siginfo type with extra fields.  */

/* Return the x86 Linux siginfo type.  */

> +extern struct type *x86_linux_get_siginfo_type (struct gdbarch *gdbarch);
> +


>  #endif /* i386-linux-tdep.h */
> diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
> index 3757306..acc6e16 100644
> --- a/gdb/linux-tdep.c
> +++ b/gdb/linux-tdep.c
> @@ -246,7 +246,7 @@ get_linux_inferior_data (void)
>  /* This function is suitable for architectures that
>     extend/override the standard siginfo in a specific way.  */
>  
> -static struct type *
> +struct type *
>  linux_get_siginfo_type_with_fields (struct gdbarch *gdbarch,
>  				    linux_siginfo_extra_fields extra_fields)
>  {
> diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
> index b2680f8..ac342a3 100644
> --- a/gdb/linux-tdep.h
> +++ b/gdb/linux-tdep.h
> @@ -36,6 +36,10 @@ enum linux_siginfo_extra_field_values
>  DEF_ENUM_FLAGS_TYPE (enum linux_siginfo_extra_field_values,
>  		     linux_siginfo_extra_fields);
>  
> +/* Return the siginfo type with additional fields.  */

With this, we end up with two places documenting the function, one in the
header, and another in the c file, which is a recipe for getting comments out
of sync, which is exactly what happened.  This one predates the revised one
on the implementation side.  Instead, please make this patch move the
revised comment here, and replace the one there with "See linux-tdep.h."

> +struct type *linux_get_siginfo_type_with_fields (struct gdbarch *gdbarch,
> +						 linux_siginfo_extra_fields);
> +

OK with those changes.

Thanks,
Pedro Alves


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