[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] symbols/riscv: don't use symbols-dummy



commit d00cb14893065b017d09d07badae51b989825503
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Dec 1 10:12:27 2025 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Dec 1 10:12:27 2025 +0100

    symbols/riscv: 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 <jbeulich@xxxxxxxx>
    Reviewed-By: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 xen/arch/riscv/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 598d1ded9b..d667234949 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -22,8 +22,10 @@ $(TARGET): $(TARGET)-syms
        $(OBJCOPY) -O binary -S $< $@
 
 $(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
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.