mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
1 parent
da944a72fd
commit
1b12a20631
1 file changed
+6
-22
+6
-22
@@ -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)
|
||||
|
||||