@@ -96,21 +96,19 @@ ifeq ($(CONFIG_ARM_64),y)
ln -sf $(@F) $@.efi
endif
+$(TARGET)-syms: XEN_LDFLAGS += -T $(obj)/xen.lds
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
- $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
- $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+ $(LD) $(XEN_LDFLAGS) $< $(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 $< \
- $(dot-target).0.o -o $(dot-target).1
+ $(LD) $(XEN_LDFLAGS) $< $(dot-target).0.o -o $(dot-target).1
$(NM) -pa --format=sysv $(dot-target).1 \
| $(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 $@
+ $(LD) $(XEN_LDFLAGS) $< $(build_id_linker) $(dot-target).1.o -o $@
$(NM) -pa --format=sysv $@ \
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> $@.map
@@ -11,21 +11,19 @@ obj-y += tlb-radix.o
$(TARGET): $(TARGET)-syms
cp -f $< $@
+$(TARGET)-syms: XEN_LDFLAGS += -T $(obj)/xen.lds
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
- $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
- $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+ $(LD) $(XEN_LDFLAGS) $< $(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 $< \
- $(dot-target).0.o -o $(dot-target).1
+ $(LD) $(XEN_LDFLAGS) $< $(dot-target).0.o -o $(dot-target).1
$(NM) -pa --format=sysv $(dot-target).1 \
| $(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 $@
+ $(LD) $(XEN_LDFLAGS) $< $(build_id_linker) $(dot-target).1.o -o $@
$(NM) -pa --format=sysv $@ \
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> $@.map
@@ -15,21 +15,19 @@ obj-y += vm_event.o
$(TARGET): $(TARGET)-syms
$(OBJCOPY) -O binary -S $< $@
+$(TARGET)-syms: XEN_LDFLAGS += -T $(obj)/xen.lds
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
- $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
- $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+ $(LD) $(XEN_LDFLAGS) $< $(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 $< \
- $(dot-target).0.o -o $(dot-target).1
+ $(LD) $(XEN_LDFLAGS) $< $(dot-target).0.o -o $(dot-target).1
$(NM) -pa --format=sysv $(dot-target).1 \
| $(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 $@
+ $(LD) $(XEN_LDFLAGS) $< $(build_id_linker) $(dot-target).1.o -o $@
$(NM) -pa --format=sysv $@ \
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> $@.map
@@ -138,21 +138,19 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
+$(TARGET)-syms: XEN_LDFLAGS += -T $(obj)/xen.lds $(build_id_linker)
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
- $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
- $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+ $(LD) $(XEN_LDFLAGS) $< $(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 $< $(build_id_linker) \
- $(dot-target).0.o -o $(dot-target).1
+ $(LD) $(XEN_LDFLAGS) $< $(dot-target).0.o -o $(dot-target).1
$(NM) -pa --format=sysv $(dot-target).1 \
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
> $(dot-target).1.S
$(MAKE) $(build)=$(@D) $(dot-target).1.o
- $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
- $(orphan-handling-y) $(dot-target).1.o -o $@
+ $(LD) $(XEN_LDFLAGS) $< $(orphan-handling-y) $(dot-target).1.o -o $@
$(NM) -pa --format=sysv $@ \
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> $@.map
In all cases, "-T $(obj)/xen.lds" can be factored out by appending to XEN_LDFLAGS. This takes the $(LD) commands from multi-line to single-line. x86 uses $(build_id_linker) for all links, so factor that out too. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> --- CC: Anthony PERARD <anthony.perard@vates.tech> CC: Michal Orzel <michal.orzel@amd.com> CC: Jan Beulich <jbeulich@suse.com> CC: Julien Grall <julien@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> CC: Bertrand Marquis <bertrand.marquis@arm.com> CC: Shawn Anastasio <sanastasio@raptorengineering.com> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com> This is based on top of Roger's "xen: remove -N from the linker command line". x86 might want to follow ARM's lead and only use $(build_id_linker) on the final link. It also wants extending to PPC/RISC-V $(orphan-handling-y) needs making common and using ouside of x86 too. --- xen/arch/arm/Makefile | 10 ++++------ xen/arch/ppc/Makefile | 10 ++++------ xen/arch/riscv/Makefile | 10 ++++------ xen/arch/x86/Makefile | 10 ++++------ 4 files changed, 16 insertions(+), 24 deletions(-) base-commit: debe8bf537ec2c69a4734393cd2b0c7f57f74c0c prerequisite-patch-id: 7911818c8833f061c9476332975b9aecb69bc26d