|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Ping: [PATCH] build: centralize / unify asm-offsets generation
On 01.04.2021 10:33, Jan Beulich wrote:
> Except for an additional prereq Arm and x86 have the same needs here,
> and Arm can also benefit from the recent x86 side improvement. Recurse
> into arch/*/ only for a phony include target (doing nothing on Arm),
> and handle asm-offsets itself entirely locally to xen/Makefile.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Comments / acks, anyone?
Thanks, Jan
> --- a/.gitignore
> +++ b/.gitignore
> @@ -318,7 +318,6 @@
> xen/arch/x86/efi/check.efi
> xen/arch/x86/efi/mkreloc
> xen/arch/*/xen.lds
> -xen/arch/*/asm-offsets.s
> xen/arch/*/efi/boot.c
> xen/arch/*/efi/compat.c
> xen/arch/*/efi/ebmalloc.c
> @@ -325,6 +324,7 @@
> xen/arch/*/efi/efi.h
> xen/arch/*/efi/pe.c
> xen/arch/*/efi/runtime.c
> +xen/asm-offsets.s
> xen/common/config_data.S
> xen/common/config.gz
> xen/include/headers*.chk
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -341,7 +341,7 @@ _clean: delete-unfresh-files
> find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
> -o -name "*.gcno" -o -name ".*.cmd" \) -exec rm -f {} \;
> rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET).efi
> $(TARGET).efi.map $(TARGET)-syms $(TARGET)-syms.map *~ core
> - rm -f include/asm-*/asm-offsets.h
> + rm -f asm-offsets.s include/asm-*/asm-offsets.h
> rm -f .banner
>
> .PHONY: _distclean
> @@ -362,7 +362,7 @@ $(TARGET): delete-unfresh-files
> done; \
> true
> $(MAKE) -f $(BASEDIR)/Rules.mk -C include
> - $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) asm-offsets.s
> + $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) include
> $(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
> $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $@
>
> @@ -399,7 +399,11 @@ include/xen/compile.h: include/xen/compi
> @sed -rf tools/process-banner.sed < .banner >> $@.new
> @mv -f $@.new $@
>
> -include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
> +asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c
> + $(CC) $(filter-out -Wa$(comma)% -flto,$(c_flags)) -S -g0 -o $@.new -MQ
> $@ $<
> + $(call move-if-changed,$@.new,$@)
> +
> +include/asm-$(TARGET_ARCH)/asm-offsets.h: asm-offsets.s
> @(set -e; \
> echo "/*"; \
> echo " * DO NOT MODIFY."; \
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -131,8 +131,8 @@ $(TARGET)-syms: prelink.o xen.lds
> >$(@D)/$(@F).map
> rm -f $(@D)/.$(@F).[0-9]*
>
> -asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c
> - $(CC) $(filter-out -flto,$(c_flags)) -S -o $@ $<
> +.PHONY: include
> +include:
>
> xen.lds: xen.lds.S
> $(CPP) -P $(a_flags) -MQ $@ -o $@ $<
> @@ -141,6 +141,6 @@ dtb.o: $(CONFIG_DTB_FILE)
>
> .PHONY: clean
> clean::
> - rm -f asm-offsets.s xen.lds
> + rm -f xen.lds
> rm -f $(BASEDIR)/.xen-syms.[0-9]*
> rm -f $(TARGET).efi
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -244,9 +244,8 @@ endif
> efi/buildid.o efi/relocs-dummy.o: $(BASEDIR)/arch/x86/efi/built_in.o
> efi/buildid.o efi/relocs-dummy.o: ;
>
> -asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c
> $(BASEDIR)/include/asm-x86/asm-macros.h
> - $(CC) $(filter-out -Wa$(comma)% -flto,$(c_flags)) -S -g0 -o $@.new -MQ
> $@ $<
> - $(call move-if-changed,$@.new,$@)
> +.PHONY: include
> +include: $(BASEDIR)/include/asm-x86/asm-macros.h
>
> asm-macros.i: CFLAGS-y += -D__ASSEMBLY__ -P
>
> @@ -276,7 +275,7 @@ hweight.o: CFLAGS-y += $(foreach reg,cx
>
> .PHONY: clean
> clean::
> - rm -f asm-offsets.s *.lds *.new boot/*.o boot/*~ boot/core boot/mkelf32
> + rm -f *.lds *.new boot/*.o boot/*~ boot/core boot/mkelf32
> rm -f asm-macros.i $(BASEDIR)/include/asm-x86/asm-macros.*
> rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d $(BASEDIR)/.xen.elf32
> rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.efi efi/mkreloc
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |