[PATCH v2] bfd: Add minimal support to handle note that describes xsave layout
Balasubrmanian, Vignesh
Vignesh.Balasubrmanian@amd.com
Mon Dec 8 07:57:08 GMT 2025
More information about the Binutils mailing list
Mon Dec 8 07:57:08 GMT 2025
- Previous message (by thread): [PATCH v2] bfd: Add minimal support to handle note that describes xsave layout
- Next message (by thread): [PATCH v2] bfd: Add minimal support to handle note that describes xsave layout
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[AMD Official Use Only - AMD Internal Distribution Only] Thanks Jan, Below are a couple of changes made in V2. Added macro for ".reg-xsave-layout" and used dashes instead of dots. Modified subject line according to the code in the patch. thanks, Vigneshbalu. -----Original Message----- From: Jan Beulich <jbeulich@suse.com> Sent: Monday, December 8, 2025 12:54 PM To: Balasubrmanian, Vignesh <Vignesh.Balasubrmanian@amd.com> Cc: binutils@sourceware.org; George, Jini Susan <JiniSusan.George@amd.com>; christina.schimpe@intel.com; Sharma, Alok Kumar <AlokKumar.Sharma@amd.com>; jhb@FreeBSD.org; simark@simark.ca Subject: Re: [PATCH v2] bfd: Add minimal support to handle note that describes xsave layout Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. On 08.12.2025 06:21, Balasubrmanian, Vignesh wrote: > [AMD Official Use Only - AMD Internal Distribution Only] > > I'm sorry for the oversight on this, juggling between paternity and other priorities. > > Addressed your review comments from V1 in this. > Would you like me to resend this patch with above update on the commit message ? "Addressed review comments" isn't a useful piece of information for review purposes. I don't suppose you expect everyone to recall what comments were given? Such a summary can be pretty brief, but it's pretty helpful to be there. As to re-sending: That's up to you; I'd be fine (for this instance) if you simply replied by clarifying what was changed. Jan > -----Original Message----- > From: Jan Beulich <jbeulich@suse.com> > Sent: Friday, October 10, 2025 12:13 PM > To: Balasubrmanian, Vignesh <Vignesh.Balasubrmanian@amd.com> > Cc: binutils@sourceware.org; George, Jini Susan > <JiniSusan.George@amd.com>; christina.schimpe@intel.com; Sharma, Alok > Kumar <AlokKumar.Sharma@amd.com>; jhb@FreeBSD.org; simark@simark.ca > Subject: Re: [PATCH v2] bfd: Add minimal support to handle note that > describes xsave layout > > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > > On 29.09.2025 04:10, Vignesh Balasubramanian wrote: >> This note section is already supported by Linux kernel. >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/co >> m >> mit/arch/x86/kernel/fpu/xstate.c?id=ba386777a30b38dabcc7fb8a89ec2869a >> 0 >> 9915f7 >> >> Co-Authored-By: Jini Susan George <jinisusan.george@amd.com> >> --- >> bfd/elf-bfd.h | 2 ++ >> bfd/elf.c | 24 +++++++++++++++++++++++- >> binutils/readelf.c | 2 ++ >> include/elf/common.h | 2 ++ >> 4 files changed, 29 insertions(+), 1 deletion(-) > > While this looks all plausible, can you please clarify what was changed in v2? > > Jan > >> diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index >> 9ce81ebd314..2877d82b907 100644 >> --- a/bfd/elf-bfd.h >> +++ b/bfd/elf-bfd.h >> @@ -2926,6 +2926,8 @@ extern char *elfcore_write_prxfpreg >> (bfd *, char *, int *, const void *, int); extern char >> *elfcore_write_xstatereg >> (bfd *, char *, int *, const void *, int); >> +extern char *elfcore_write_xsave_layout >> + (bfd *, char *, int *, const void *, int); >> extern char *elfcore_write_x86_segbases >> (bfd *, char *, int *, const void *, int); extern char >> *elfcore_write_i386_tls diff --git a/bfd/elf.c b/bfd/elf.c index >> bde7414ee21..07e672f07a5 100644 >> --- a/bfd/elf.c >> +++ b/bfd/elf.c >> @@ -114,6 +114,7 @@ SECTION >> #define NOTE_PSEUDO_SECTION_X86_SEGBASES ".reg-x86-segbases" >> #define NOTE_PSEUDO_SECTION_XFP ".reg-xfp" >> #define NOTE_PSEUDO_SECTION_XSTATE ".reg-xstate" >> +#define NOTE_PSEUDO_SECTION_XSAVE_LAYOUT ".reg-xsave-layout" >> >> static int elf_sort_sections (const void *, const void *); static >> bool assign_file_positions_except_relocs (bfd *, struct bfd_link_info >> *); @@ -10492,6 +10493,14 @@ elfcore_grok_sspreg (bfd *abfd, Elf_Internal_Note *note) >> return elfcore_make_note_pseudosection (abfd, >> NOTE_PSEUDO_SECTION_SSP, note); } >> >> +/* Linux dumps the XSAVE Layout description in a note named "LINUX" >> + with a note type of NT_X86_XSAVE_LAYOUT. */ static bool >> +elfcore_grok_xsave_layout_desc (bfd *abfd, Elf_Internal_Note *note) >> +{ >> + return elfcore_make_note_pseudosection (abfd, >> +NOTE_PSEUDO_SECTION_XSAVE_LAYOUT, note); } >> + >> static bool >> elfcore_grok_ppc_vmx (bfd *abfd, Elf_Internal_Note *note) { @@ >> -11211,6 +11220,7 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note) >> case NT_S390_VXRS_LOW: return elfcore_grok_s390_vxrs_low (abfd, note); >> case NT_X86_SHSTK: return elfcore_grok_sspreg (abfd, note); >> case NT_X86_XSTATE: return elfcore_grok_xstatereg (abfd, note); >> + case NT_X86_XSAVE_LAYOUT: return elfcore_grok_xsave_layout_desc >> + (abfd, note); >> default: break; >> } >> } >> @@ -12390,6 +12400,17 @@ elfcore_write_xstatereg (bfd *abfd, char *buf, int *bufsiz, >> note_name, NT_X86_XSTATE, xfpregs, size); >> } >> >> +char * >> +elfcore_write_xsave_layout (bfd *abfd, char *buf, int *bufsiz, >> + const void *xsave_layout, int size) { >> + return elfcore_write_note (abfd, buf, bufsiz, >> + NOTE_NAME_LINUX, >> + NT_X86_XSAVE_LAYOUT, >> + xsave_layout, >> + size); >> +} >> + >> static char * >> elfcore_write_sspreg (bfd *abfd, char *buf, int *bufsiz, >> const void *ssp, int size) @@ -13035,7 +13056,8 >> @@ elfcore_write_register_note (bfd *abfd, >> { NOTE_PSEUDO_SECTION_TDESC, elfcore_write_gdb_tdesc}, >> { NOTE_PSEUDO_SECTION_X86_SEGBASES, elfcore_write_x86_segbases}, >> { NOTE_PSEUDO_SECTION_XFP, elfcore_write_prxfpreg}, >> - { NOTE_PSEUDO_SECTION_XSTATE, elfcore_write_xstatereg} /* NB/ No comma. */ >> + { NOTE_PSEUDO_SECTION_XSTATE, elfcore_write_xstatereg}, >> + { NOTE_PSEUDO_SECTION_XSAVE_LAYOUT, elfcore_write_xsave_layout} /* NB/ No comma. */ >> }; >> >> int i; >> diff --git a/binutils/readelf.c b/binutils/readelf.c index >> fd9722c8afc..16f50318da9 100644 >> --- a/binutils/readelf.c >> +++ b/binutils/readelf.c >> @@ -21375,6 +21375,8 @@ get_note_type (Filedata * filedata, unsigned e_type) >> return _("NT_386_IOPERM (x86 I/O permissions)"); >> case NT_X86_XSTATE: >> return _("NT_X86_XSTATE (x86 XSAVE extended state)"); >> + case NT_X86_XSAVE_LAYOUT: >> + return _("NT_X86_XSAVE_LAYOUT (x86 XSAVE Layout description)"); >> case NT_X86_CET: >> return _("NT_X86_CET (x86 CET state)"); >> case NT_X86_SHSTK: >> diff --git a/include/elf/common.h b/include/elf/common.h index >> 5d0f93ebf56..c0894870fc5 100644 >> --- a/include/elf/common.h >> +++ b/include/elf/common.h >> @@ -696,6 +696,8 @@ >> #define NT_X86_SHSTK 0x204 /* x86 SHSTK state. */ >> /* This replaces NT_X86_CET (0x203). */ >> /* note name must be "LINUX". */ >> +#define NT_X86_XSAVE_LAYOUT 0x205 /* XSAVE layout description */ >> + /* note name must be "LINUX". */ >> #define NT_S390_HIGH_GPRS 0x300 /* S/390 upper halves of GPRs */ >> /* note name must be "LINUX". */ >> #define NT_S390_TIMER 0x301 /* S390 timer */ >
- Previous message (by thread): [PATCH v2] bfd: Add minimal support to handle note that describes xsave layout
- Next message (by thread): [PATCH v2] bfd: Add minimal support to handle note that describes xsave layout
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list