From 6b4480fe71d8684dcecacf17bd3e9816428cbb0e Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Thu, 29 Jan 2026 13:49:20 +0100 Subject: [PATCH] build/non-x86: fix symbol lookup in presence of build-id It's not clear why only x86 had $(build_id_linker) applied to all three linking passes. Not doing so will alter symbol offsets between the 2nd and 3rd passes for, potentially, all of the symbols at higher addresses (intermediate alignment padding may mask this effect, though, so it will look as if problems appeared randomly). Fixes: a353cab905af ("build_id: Provide ld-embedded build-ids") Reported-by: Mykola Kvach Signed-off-by: Jan Beulich Acked-by: Andrew Cooper Tested-by: Mykola Kvach # arm Reviewed-by: Oleksii Kurochko # riscv Tested-by: Jason Andryuk # arm64 Acked-by: Michal Orzel [jb: backport limited to Arm] master commit: f0abe60de13b7ca33464d5715d28e77fb545a1f0 master date: 2026-01-27 10:26:36 +0100 --- xen/arch/arm/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 940de246b5..bfb36dd304 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -97,13 +97,13 @@ ifeq ($(CONFIG_ARM_64),y) endif $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \ + $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ $(objtree)/common/symbols-dummy.o -o $(dot-target).0 $(NM) -pa --format=sysv $(dot-target).0 \ | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \ > $(dot-target).0.S $(MAKE) $(build)=$(@D) $(dot-target).0.o - $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \ + $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \ $(dot-target).0.o -o $(dot-target).1 $(NM) -pa --format=sysv $(dot-target).1 \ | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \