[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