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
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
> +
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