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

[xen staging] PPC: split xen-syms linking rule



commit 1b12a206318758b94fc80b835de6fc0adc328ca6
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Sep 10 09:00:16 2026 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Sep 10 09:00:16 2026 +0200

    PPC: split xen-syms linking rule
    
    Doing so, besides (hopefully) adding clarity (not the least by way of
    [re-]using pattern rules where possible), also avoids explicit recursive
    $(MAKE) invocations.
    
    By re-using the generic rules introduced when the respective x86 rule was
    split,
    - the .map file now isn't created after the final binary anymore,
    - --strip-debug is passed to $(LD) during early linking passes (for
      consistency the option is also explicitly added to the optional linking
      pass rule),
    - CONFIG_{SUPPRESS_DUPLICATE_SYMBOL_WARNINGS,ENFORCE_UNIQUE_SYMBOLS} are
      now properly respected.
    Orphan section checking, otoh, is getting suppressed for now, until the
    about a dozen warnings which would result have been taken care of.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
 xen/arch/ppc/Makefile | 28 ++++++----------------------
 1 file changed, 6 insertions(+), 22 deletions(-)

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 75215e07a8..3342c2249a 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -11,28 +11,12 @@ obj-y += tlb-radix.o
 $(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 $< $(build_id_linker) \
-             $(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
-       $(MAKE) $(build)=$(@D) $(dot-target).1.o
-       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-           $(dot-target).1.o -o $(dot-target).1
-       $(NM) -pa --format=sysv $(dot-target).1 \
-               | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
-               > $(dot-target).2.S
-       $(MAKE) $(build)=$(@D) $(dot-target).2.o
-       $(call compare-symbol-tables, $(dot-target).1.o, $(dot-target).2.o)
-       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
-           $(dot-target).2.o -o $@
-       $(NM) -pa --format=sysv $@ \
-               | $(objtree)/tools/symbols --all-symbols --xensyms --sysv 
--sort \
-               > $@.map
-       rm -f $(dot-target).[0-9]* $(@D)/..$(@F).[0-9]*
+LAST_LINKING_PASS := 2
+
+include scripts/Makefile.link
+
+# Suppress orphan section checking for the time being.
+orphan-handling-y :=
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
        $(call if_changed_dep,cpp_lds_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®.