From b0f666c569b8af6a51ab8aeec3664d6acd1abee9 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 4 May 2020 11:53:42 +0200 Subject: [PATCH] x86/EFI: correct section offsets in mkreloc diagnostics These are more helpful if they point at the address where the relocated value starts, rather than at the specific byte of the difference. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- xen/arch/x86/efi/mkreloc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c index 1aca79672a..83a0afa00b 100644 --- a/xen/arch/x86/efi/mkreloc.c +++ b/xen/arch/x86/efi/mkreloc.c @@ -238,7 +238,7 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2, fprintf(stderr, "Difference at %.8s:%08" PRIxFAST32 " is %#" PRIxFAST64 " (expected %#" PRIxFAST64 ")\n", - sec->name, i, delta, diff); + sec->name, i - disp, delta, diff); continue; } if ( width == 8 && (val1.u64 < base || val1.u64 > end) ) @@ -263,14 +263,14 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2, { fprintf(stderr, "Cannot handle decreasing RVA (at %.8s:%08" PRIxFAST32 ")\n", - sec->name, i); + sec->name, i - disp); exit(3); } if ( !(sec->flags & COFF_SECTION_WRITEABLE) ) fprintf(stderr, "Warning: relocation to r/o section %.8s:%08" PRIxFAST32 "\n", - sec->name, i); + sec->name, i - disp); printf("\t.word (%u << 12) | 0x%03" PRIxFAST32 "\n", reloc, sec->rva + i - disp - rva); -- 2.30.2