[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] build: Preprocess linker script as a source
Looks good. Thanks! Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> On 15.03.19, 15:20, "Sharan Santhanam" <Sharan.Santhanam@xxxxxxxxx> wrote: The build system supports preprocessing of linker script. But in the current implementation its direct call to definition 'buildrule'. With this patch, we can add the linker script as source file and don't have to call the internal buildrule definition. Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> --- plat/kvm/Linker.uk | 4 +--- plat/kvm/Makefile.uk | 2 ++ support/build/Makefile.rules | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plat/kvm/Linker.uk b/plat/kvm/Linker.uk index 4587daf..f696e25 100644 --- a/plat/kvm/Linker.uk +++ b/plat/kvm/Linker.uk @@ -2,10 +2,8 @@ ifeq (x86_64,$(CONFIG_UK_ARCH)) KVM_LDSCRIPT := $(CONFIG_UK_BASE)/plat/kvm/x86/link64.lds KVM_LDFLAGS-y += -Wl,-m,elf_x86_64 else ifeq (arm64,$(CONFIG_UK_ARCH)) -KVM_LDSCRIPT_SRC := $(CONFIG_UK_BASE)/plat/kvm/arm/link64.lds.S -KVM_LDSCRIPT := $(call src2lds,libkvmplat,$(KVM_LDSCRIPT_SRC)) KVM_LDFLAGS-y += -Wl,-m,aarch64elf -$(eval $(call buildrule,libkvmplat,$(KVM_LDSCRIPT_SRC),$(KVM_LDSCRIPT))) +KVM_LDSCRIPT := $(call src2lds,libkvmplat,$(KVM_LDSCRIPT_SRC)) endif ## diff --git a/plat/kvm/Makefile.uk b/plat/kvm/Makefile.uk index 620c626..ad611d3 100644 --- a/plat/kvm/Makefile.uk +++ b/plat/kvm/Makefile.uk @@ -54,9 +54,11 @@ endif ## ## Architecture library definitions for arm64 ## +KVM_LDSCRIPT_SRC := $(CONFIG_UK_BASE)/plat/kvm/arm/link64.lds.S ifeq ($(findstring y,$(CONFIG_KVM_KERNEL_SERIAL_CONSOLE) $(CONFIG_KVM_DEBUG_SERIAL_CONSOLE)),y) LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(UK_PLAT_COMMON_BASE)/arm/pl011.c|common endif +LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(KVM_LDSCRIPT_SRC) LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(UK_PLAT_COMMON_BASE)/arm/cpu_native.c|common LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(UK_PLAT_COMMON_BASE)/arm/cache64.S|common LIBKVMPLAT_SRCS-$(CONFIG_ARCH_ARM_64) += $(UK_PLAT_COMMON_BASE)/arm/psci_arm64.S|common diff --git a/support/build/Makefile.rules b/support/build/Makefile.rules index 809def0..04f2f0d 100644 --- a/support/build/Makefile.rules +++ b/support/build/Makefile.rules @@ -464,7 +464,10 @@ endef # # buildrule_libobj $libname,$source,$variant(optional) define buildrule_libobj = -$(eval $(call buildrule,$(1),$(2),$(call src2obj,$(1),$(2),$(3)),\ +$(if $(filter %.lds.S,$(2)),\ + $(eval target=$(call src2lds,$(1),$(2))),\ + $(eval target=$(call src2obj,$(1),$(2),$(3)))) +$(eval $(call buildrule,$(1),$(2),$(target),\ $($(call vprefix_src,$(1),$(2),INCLUDES))\ $($(call vprefix_src,$(1),$(2),INCLUDES-y))\ $($(call vprefix_src,$(1),$(2),FLAGS))\ -- 2.7.4 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |