From: John Baldwin Date: Fri, 1 Apr 2022 20:16:46 +0000 (-0700) Subject: Recognize FreeBSD core dump note for x86 segment base registers. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a171378aa472fab0407dc1f99e8e7782286719ed;p=binutils-gdb.git Recognize FreeBSD core dump note for x86 segment base registers. This core dump note contains the value of the base address of the %fs and %gs segments for both i386 and amd64 core dumps. It is primarily useful in resolving the address of TLS variables in core dumps. binutils/ChangeLog: * readelf.c (get_freebsd_elfcore_note_type): Handle NT_FREEBSD_X86_SEGBASES. include/ChangeLog: * elf/common.h (NT_FREEBSD_X86_SEGBASES): Define. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 81f74f5b2e6..63c425c7a68 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2022-04-01 John Baldwin + + * readelf.c (get_freebsd_elfcore_note_type): Handle + NT_FREEBSD_X86_SEGBASES. + 2022-03-31 Nick Clifton * arlex.l: Accept the plus character as part of a filename. diff --git a/binutils/readelf.c b/binutils/readelf.c index a2dbaa4722e..84c8cfd45fc 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -20448,6 +20448,8 @@ get_freebsd_elfcore_note_type (Filedata * filedata, unsigned e_type) return _("NT_PROCSTAT_AUXV (auxv data)"); case NT_FREEBSD_PTLWPINFO: return _("NT_PTLWPINFO (ptrace_lwpinfo structure)"); + case NT_FREEBSD_X86_SEGBASES: + return _("NT_X86_SEGBASES (x86 segment base registers)"); } return get_note_type (filedata, e_type); } diff --git a/include/ChangeLog b/include/ChangeLog index 82194629c97..502fc47c148 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2022-04-01 John Baldwin + + * elf/common.h (NT_FREEBSD_X86_SEGBASES): Define. + 2022-03-16 Simon Marchi * elf/amdgpu.h: Add relocation values. diff --git a/include/elf/common.h b/include/elf/common.h index 70d63e3299c..ad62a7d8523 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -738,6 +738,7 @@ #define NT_FREEBSD_PROCSTAT_PSSTRINGS 15 /* Procstat ps_strings data. */ #define NT_FREEBSD_PROCSTAT_AUXV 16 /* Procstat auxv data. */ #define NT_FREEBSD_PTLWPINFO 17 /* Thread ptrace miscellaneous info. */ +#define NT_FREEBSD_X86_SEGBASES 0x200 /* x86 segment base registers */ /* Note segments for core files on NetBSD systems. Note name must start with "NetBSD-CORE". */