[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
> 




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.