[PATCH 1/5] bfd: add elfcore_write_file_note

Simon Marchi simon.marchi@polymtl.ca
Fri Jan 22 22:17:34 GMT 2021
Adding binutils@ in CC, can someone over there please review this change?

The full series is here:

https://sourceware.org/pipermail/gdb-patches/2021-January/174652.html

Simon

On 2021-01-03 8:02 a.m., Mihails Strasuns via Gdb-patches wrote:
> Adds a trivial wrapper over elfcore_write_note, primarily to be more
> consistent with other ELF note helper functions and highlight NT_FILE as
> one of notes handled by gdb.
> 
> bfd/ChangeLog:
> 2020-12-17  Mihails Strasuns  <mihails.strasuns@intel.com>
> 
> 	* bfd-elf.h (elfcore_write_file_note): New function.
> 	* elf.c (elfcore_write_file_note): New function.
> 
> gdb/ChangeLog:
> 2020-12-17  Mihails Strasuns  <mihails.strasuns@intel.com>
> 
> 	* linux-tdep.c (linux_make_mappings_corefile_notes): Start using
> 	elfcore_write_file_note.
> ---
>  bfd/elf-bfd.h    | 2 ++
>  bfd/elf.c        | 8 ++++++++
>  gdb/linux-tdep.c | 8 +++-----
>  3 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
> index 53b5ffc33d..75d5576042 100644
> --- a/bfd/elf-bfd.h
> +++ b/bfd/elf-bfd.h
> @@ -2801,6 +2801,8 @@ extern char *elfcore_write_lwpstatus
>    (bfd *, char *, int *, long, int, const void *);
>  extern char *elfcore_write_register_note
>    (bfd *, char *, int *, const char *, const void *, int);
> +extern char *elfcore_write_file_note
> +  (bfd *, char *, int *, const void*, int);
>  
>  /* Internal structure which holds information to be included in the
>     PRPSINFO section of Linux core files.
> diff --git a/bfd/elf.c b/bfd/elf.c
> index 9c82912aeb..070db5b180 100644
> --- a/bfd/elf.c
> +++ b/bfd/elf.c
> @@ -12028,6 +12028,14 @@ elfcore_write_register_note (bfd *abfd,
>    return NULL;
>  }
>  
> +char *
> +elfcore_write_file_note (bfd *obfd, char *note_data, int *note_size,
> +			 const void *buf, int bufsiz)
> +{
> +  return elfcore_write_note (obfd, note_data, note_size,
> +			     "CORE", NT_FILE, buf, bufsiz);
> +}
> +
>  static bfd_boolean
>  elf_parse_notes (bfd *abfd, char *buf, size_t size, file_ptr offset,
>  		 size_t align)
> diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
> index 5ae28d826c..5b44e7135b 100644
> --- a/gdb/linux-tdep.c
> +++ b/gdb/linux-tdep.c
> @@ -1591,11 +1591,9 @@ linux_make_mappings_corefile_notes (struct gdbarch *gdbarch, bfd *obfd,
>        obstack_grow (&data_obstack, obstack_base (&filename_obstack),
>  		    size);
>  
> -      note_data.reset (elfcore_write_note
> -			 (obfd, note_data.release (),
> -			  note_size, "CORE", NT_FILE,
> -			  obstack_base (&data_obstack),
> -			  obstack_object_size (&data_obstack)));
> +      note_data.reset (elfcore_write_file_note (obfd, note_data.release (), note_size,
> +						obstack_base (&data_obstack),
> +						obstack_object_size (&data_obstack)));
>      }
>  }
>  
> 


More information about the Binutils mailing list