From 06d949ec3121f4732e789db1efc53986355c9481 Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski Date: Fri, 13 Mar 2020 23:37:10 +0100 Subject: [PATCH] Implement NT_NETBSDCORE_LWPSTATUS (NetBSD-Core) bfd/ChangeLog: * elf.c (elfcore_grok_netbsd_note): Add support for NT_NETBSDCORE_LWPSTATUS notes. binutils/ChangeLog: * readelf.c (get_netbsd_elfcore_note_type): Add support for NT_NETBSDCORE_LWPSTATUS notes. include/ChangeLog: * elf/common.h (NT_NETBSDCORE_LWPSTATUS): New define. --- bfd/ChangeLog | 5 +++++ bfd/elf.c | 8 +++++++- binutils/ChangeLog | 5 +++++ binutils/readelf.c | 7 ++++++- include/ChangeLog | 6 +++++- include/elf/common.h | 1 + 6 files changed, 29 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 84bc1e116b..23d539c51b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2020-03-13 Kamil Rytarowski + + * elf.c (elfcore_grok_netbsd_note): Add support for + NT_NETBSDCORE_LWPSTATUS notes. + 2020-03-13 Christophe Lyon * bfd-in2.h: Regenerate. diff --git a/bfd/elf.c b/bfd/elf.c index 1926ecc803..c8241cc579 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -10749,12 +10749,18 @@ elfcore_grok_netbsd_note (bfd *abfd, Elf_Internal_Note *note) case NT_NETBSDCORE_AUXV: /* NetBSD-specific Elf Auxiliary Vector data. */ return elfcore_make_auxv_note_section (abfd, note, 4); +#endif +#ifdef NT_NETBSDCORE_LWPSTATUS + case NT_NETBSDCORE_LWPSTATUS: + return elfcore_make_note_pseudosection (abfd, + ".note.netbsdcore.lwpstatus", + note); #endif default: break; } - /* As of March 2017 there are no other machine-independent notes + /* As of March 2020 there are no other machine-independent notes defined for NetBSD core files. If the note type is less than the start of the machine-dependent note types, we don't understand it. */ diff --git a/binutils/ChangeLog b/binutils/ChangeLog index cafd0762a6..d88ec4dacb 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2020-03-13 Kamil Rytarowski + + * readelf.c (get_netbsd_elfcore_note_type): Add support for + NT_NETBSDCORE_LWPSTATUS notes. + 2020-03-13 Alan Modra * elfcomm.c (get_archive_member_name): Always return malloc'd diff --git a/binutils/readelf.c b/binutils/readelf.c index 4e21bdb56c..f36883cb64 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -18451,8 +18451,13 @@ get_netbsd_elfcore_note_type (Filedata * filedata, unsigned e_type) return _("NetBSD ELF auxiliary vector data"); #endif +#ifdef NT_NETBSDCORE_LWPSTATUS + case NT_NETBSDCORE_LWPSTATUS: + return _("PT_LWPSTATUS (ptrace_lwpstatus structure)"); +#endif + default: - /* As of Jan 2002 there are no other machine-independent notes + /* As of Jan 2020 there are no other machine-independent notes defined for NetBSD core files. If the note type is less than the start of the machine-dependent note types, we don't understand it. */ diff --git a/include/ChangeLog b/include/ChangeLog index f0934c984c..c19d4d4881 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,4 +1,8 @@ -2020-03-13 Kamil Rytarowski +2020-03-13 Kamil Rytarowski + + * elf/common.h (NT_NETBSDCORE_LWPSTATUS): New define. + +2020-03-13 Kamil Rytarowski * elf/common.h (NT_NETBSDCORE_AUXV): New define. diff --git a/include/elf/common.h b/include/elf/common.h index 755c791ad6..1c84ccb430 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -687,6 +687,7 @@ #define NT_NETBSDCORE_PROCINFO 1 /* Has a struct procinfo */ #define NT_NETBSDCORE_AUXV 2 /* Has auxv data */ +#define NT_NETBSDCORE_LWPSTATUS 24 /* Has LWPSTATUS data */ #define NT_NETBSDCORE_FIRSTMACH 32 /* start of machdep note types */ -- 2.34.1