Re: [PATCH v2 03/11] x86/mkreloc: use the string table to get names

2025-04-02 Thread Jan Beulich
On 01.04.2025 15:08, Roger Pau Monne wrote: > @@ -83,6 +111,31 @@ static unsigned int load(const char *name, int *handle, > exit(3); > } > > +if ( !string_table && pe_hdr.symbol_table ) > +{ > +char *strings; > + > +if ( lseek(in, pe_hdr.symbol_table + pe_hdr

Re: [PATCH v2 03/11] x86/mkreloc: use the string table to get names

2025-04-01 Thread Jan Beulich
On 01.04.2025 15:08, Roger Pau Monne wrote: > --- a/xen/arch/x86/efi/mkreloc.c > +++ b/xen/arch/x86/efi/mkreloc.c > @@ -17,6 +17,12 @@ > #define PE_BASE_RELOC_HIGHLOW 3 > #define PE_BASE_RELOC_DIR64 10 > > +/* The size of a symbol table entry is always 18 bytes. */ > +#define SYM_SIZE 18 > +

[PATCH v2 03/11] x86/mkreloc: use the string table to get names

2025-04-01 Thread Roger Pau Monne
When using PE format names greater than 8 characters are placed in the string table, and a reference using the '/' format is placed in the name field. Read the string table if present, and decode names as required. No functional change intended, but the name references printed in error messages a