----- Original Message -----
> From: "Jan Beulich" <[email protected]>
> To: "xen-devel" <[email protected]>
> Cc: "Andrew Cooper" <[email protected]>, "Julien Grall"
> <[email protected]>, "Stefano Stabellini"
> <[email protected]>, "Anthony PERARD" <[email protected]>,
> "Michal Orzel" <[email protected]>, "Roger
> Pau Monné" <[email protected]>, "Timothy Pearson"
> <[email protected]>
> Sent: Wednesday, November 26, 2025 7:43:46 AM
> Subject: [PATCH 4/8] symbols/ppc: don't use symbols-dummy
> In particular when linking with lld, which converts hidden symbols to
> local ones, the ELF symbol table can change in unhelpful ways between the
> first two linking passes, resulting in the .rodata contributions to change
> between the 2nd and 3rd pass. That, however, renders our embedded symbol
> table pretty much unusable; the recently introduced self-test may then
> also fail. (Another difference between compiling a C file and assembling
> the generated ones is that - with -fdata-sections in use - the .rodata
> contributions move between passes 1 and 2, when we'd prefer them not to.)
>
> Signed-off-by: Jan Beulich <[email protected]>
Looks good to me. Thanks!
Acked-by: Timothy Pearson <[email protected]>
> --- a/xen/arch/ppc/Makefile
> +++ b/xen/arch/ppc/Makefile
> @@ -12,8 +12,10 @@ $(TARGET): $(TARGET)-syms
> cp -f $< $@
>
> $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> + $(objtree)/tools/symbols $(all_symbols) --empty > $(dot-target).0.S
> + $(MAKE) $(build)=$(@D) $(dot-target).0.o
> $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
> - $(objtree)/common/symbols-dummy.o -o $(dot-target).0
> + $(dot-target).0.o -o $(dot-target).0
> $(NM) -pa --format=sysv $(dot-target).0 \
> | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
> > $(dot-target).1.S