diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.build | 5 | ||||
| -rw-r--r-- | scripts/Makefile.lib | 100 | ||||
| -rw-r--r-- | scripts/Makefile.lib-u-boot | 96 | ||||
| -rw-r--r-- | scripts/Makefile.xpl | 3 | ||||
| -rw-r--r-- | scripts/dtc/Makefile | 8 | ||||
| -rw-r--r-- | scripts/dtc/libfdt/fdt_overlay.c | 3 | ||||
| -rwxr-xr-x | scripts/dtc/update-dtc-source.sh | 2 |
7 files changed, 106 insertions, 111 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 8da9851d430..73b6769ab90 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -65,6 +65,7 @@ ccflags-y += $(PLATFORM_CPPFLAGS) cppflags-y += $(PLATFORM_CPPFLAGS) include $(srctree)/scripts/Makefile.lib +include $(srctree)/scripts/Makefile.lib-u-boot # Do not include hostprogs rules unless needed. # $(sort ...) is used here to remove duplicated words and excessive spaces. @@ -439,6 +440,10 @@ targets += $(call intermediate_targets, .asn1.o, .asn1.c .asn1.h) \ $(call intermediate_targets, .lex.o, .lex.c) \ $(call intermediate_targets, .tab.o, .tab.c .tab.h) +# Added for U-Boot +targets += $(call intermediate_targets, .ttf.o, .ttf.S) \ + $(call intermediate_targets, .bmp.o, .bmp.S) + # Build # --------------------------------------------------------------------------- diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 7386353e0cc..d66f1ed13b1 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -86,12 +86,6 @@ base-dtb-y := $(foreach m, $(multi-dtb-y), $(firstword $(call suffix-search, $m, extra-y += $(dtb-y) extra-$(CONFIG_OF_ALL_DTBS) += $(dtb-) -# U-Boot specific -ifneq ($(CHECK_DTBS),) -extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y)) -extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-)) -endif - # Add subdir path extra-y := $(addprefix $(obj)/,$(extra-y)) @@ -508,100 +502,6 @@ $(multi-dtb-y): FORCE $(call if_changed,fdtoverlay) $(call multi_depend, $(multi-dtb-y), .dtb, -dtbs) -# Fonts -# --------------------------------------------------------------------------- - -# Generate an assembly file to wrap the font data -quiet_cmd_S_ttf= TTF $@ -# Modified for U-Boot -cmd_S_ttf= \ -( \ - echo '.section .rodata.ttf.init,"a"'; \ - echo '.balign 16'; \ - echo '.global __ttf_$(*F)_begin'; \ - echo '__ttf_$(*F)_begin:'; \ - echo '.incbin "$<" '; \ - echo '__ttf_$(*F)_end:'; \ - echo '.global __ttf_$(*F)_end'; \ - echo '.balign 16'; \ -) > $@ - -$(obj)/%.S: $(src)/%.ttf - $(call cmd,S_ttf) - -# Splash logos -# --------------------------------------------------------------------------- - -# Generate an assembly file to wrap the splash data -quiet_cmd_S_splash= TTF $@ -# Modified for U-Boot -cmd_S_splash= \ -( \ - echo '.section .rodata.splash.init,"a"'; \ - echo '.balign 16'; \ - echo '.global __splash_$(*F)_begin'; \ - echo '__splash_$(*F)_begin:'; \ - echo '.incbin "$<" '; \ - echo '__splash_$(*F)_end:'; \ - echo '.global __splash_$(*F)_end'; \ - echo '.balign 16'; \ -) > $@ - -$(obj)/%.S: $(src)/%.bmp - $(call cmd,S_splash) - -# EFI applications -# A Makefile target *.efi is built as EFI application. -# A Makefile target *_efi.S wraps *.efi as built-in EFI application. -# --------------------------------------------------------------------------- - -# Generate an assembly file to wrap the EFI app -cmd_S_efi= \ -( \ - echo '.section .rodata.$*.init,"a"'; \ - echo '.balign 16'; \ - echo '.global __efi_$*_begin'; \ - echo '__efi_$*_begin:'; \ - echo '.incbin "$<" '; \ - echo '__efi_$*_end:'; \ - echo '.global __efi_$*_end'; \ - echo '.balign 16'; \ -) > $@ - -$(obj)/%_efi.S: $(obj)/%.efi - $(call cmd,S_efi) - -quiet_cmd_efi_objcopy = OBJCOPY $@ -cmd_efi_objcopy = $(OBJCOPY) -j .header -j .text -j .sdata -j .data \ - -j .dynamic -j .dynstr -j .dynsym -j .rel* -j .reloc \ - $(if $(EFI_TARGET),$(EFI_TARGET),-O binary) $^ $@ - -$(obj)/%.efi: $(obj)/%_efi.so - $(call cmd,efi_objcopy) - -KBUILD_EFILDFLAGS = -nostdlib -zexecstack -znocombreloc -znorelro -KBUILD_EFILDFLAGS += $(call ld-option,--no-warn-rwx-segments) -quiet_cmd_efi_ld = LD $@ -cmd_efi_ld = $(LD) $(KBUILD_EFILDFLAGS) -L $(srctree) -T $(EFI_LDS_PATH) \ - -shared -Bsymbolic -s $^ $(PLATFORM_LIBGCC) -o $@ - -EFI_LDS_PATH = arch/$(ARCH)/lib/$(EFI_LDS) - -$(obj)/efi_crt0.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_CRT0:.o=.S) FORCE - $(call if_changed_dep,as_o_S) - -$(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcount_source) FORCE - $(call cmd,force_checksrc) - $(call if_changed_rule,cc_o_c) - -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o - $(call cmd,efi_ld) - -targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o - -CFLAGS_REMOVE_efi_reloc.o := $(LTO_CFLAGS) -CFLAGS_REMOVE_efi_freestanding.o := $(LTO_CFLAGS) - # ACPI # --------------------------------------------------------------------------- # diff --git a/scripts/Makefile.lib-u-boot b/scripts/Makefile.lib-u-boot new file mode 100644 index 00000000000..4d60a8eee49 --- /dev/null +++ b/scripts/Makefile.lib-u-boot @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# U-Boot-specific rules for embedding binary data via .incbin +# These are split out of Makefile.lib to simplify kbuild re-syncs. + +# Fonts +# --------------------------------------------------------------------------- + +# Generate an assembly file to wrap the font data +quiet_cmd_S_ttf= TTF $@ +cmd_S_ttf= \ +( \ + echo '.section .rodata.ttf.init,"a"'; \ + echo '.balign 16'; \ + echo '.global __ttf_$(*F)_begin'; \ + echo '__ttf_$(*F)_begin:'; \ + echo '.incbin "$<" '; \ + echo '__ttf_$(*F)_end:'; \ + echo '.global __ttf_$(*F)_end'; \ + echo '.balign 16'; \ +) > $@ + +$(obj)/%.ttf.S: $(src)/%.ttf FORCE + $(call if_changed,S_ttf) + +# Splash logos +# --------------------------------------------------------------------------- + +# Generate an assembly file to wrap the splash data +quiet_cmd_S_splash= TTF $@ +cmd_S_splash= \ +( \ + echo '.section .rodata.splash.init,"a"'; \ + echo '.balign 16'; \ + echo '.global __splash_$(*F)_begin'; \ + echo '__splash_$(*F)_begin:'; \ + echo '.incbin "$<" '; \ + echo '__splash_$(*F)_end:'; \ + echo '.global __splash_$(*F)_end'; \ + echo '.balign 16'; \ +) > $@ + +$(obj)/%.bmp.S: $(src)/%.bmp FORCE + $(call if_changed,S_splash) + +# EFI applications +# A Makefile target *.efi is built as EFI application. +# A Makefile target *_efi.S wraps *.efi as built-in EFI application. +# --------------------------------------------------------------------------- + +# Generate an assembly file to wrap the EFI app +cmd_S_efi= \ +( \ + echo '.section .rodata.$*.init,"a"'; \ + echo '.balign 16'; \ + echo '.global __efi_$*_begin'; \ + echo '__efi_$*_begin:'; \ + echo '.incbin "$<" '; \ + echo '__efi_$*_end:'; \ + echo '.global __efi_$*_end'; \ + echo '.balign 16'; \ +) > $@ + +$(obj)/%_efi.S: $(obj)/%.efi + $(call cmd,S_efi) + +quiet_cmd_efi_objcopy = OBJCOPY $@ +cmd_efi_objcopy = $(OBJCOPY) -j .header -j .text -j .sdata -j .data \ + -j .dynamic -j .dynstr -j .dynsym -j .rel* -j .reloc \ + $(if $(EFI_TARGET),$(EFI_TARGET),-O binary) $^ $@ + +$(obj)/%.efi: $(obj)/%_efi.so + $(call cmd,efi_objcopy) + +KBUILD_EFILDFLAGS = -nostdlib -zexecstack -znocombreloc -znorelro +KBUILD_EFILDFLAGS += $(call ld-option,--no-warn-rwx-segments) +quiet_cmd_efi_ld = LD $@ +cmd_efi_ld = $(LD) $(KBUILD_EFILDFLAGS) -L $(srctree) -T $(EFI_LDS_PATH) \ + -shared -Bsymbolic -s $^ $(PLATFORM_LIBGCC) -o $@ + +EFI_LDS_PATH = arch/$(ARCH)/lib/$(EFI_LDS) + +$(obj)/efi_crt0.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_CRT0:.o=.S) FORCE + $(call if_changed_dep,as_o_S) + +$(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcount_source) FORCE + $(call cmd,force_checksrc) + $(call if_changed_rule,cc_o_c) + +$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o + $(call cmd,efi_ld) + +targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o + +CFLAGS_REMOVE_efi_reloc.o := $(LTO_CFLAGS) +CFLAGS_REMOVE_efi_freestanding.o := $(LTO_CFLAGS) diff --git a/scripts/Makefile.xpl b/scripts/Makefile.xpl index c5ddf64c73f..a3fd3e1375f 100644 --- a/scripts/Makefile.xpl +++ b/scripts/Makefile.xpl @@ -88,6 +88,7 @@ include $(srctree)/config.mk include $(srctree)/arch/$(ARCH)/Makefile include $(srctree)/scripts/Makefile.lib +include $(srctree)/scripts/Makefile.lib-u-boot # Enable garbage collection of un-used sections for SPL KBUILD_CFLAGS += -ffunction-sections -fdata-sections @@ -256,7 +257,7 @@ MKIMAGEFLAGS_boot.bin = -T zynqmpimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) \ endif $(obj)/$(SPL_BIN)-align.bin: $(obj)/$(SPL_BIN).bin - @dd if=$< of=$@ conv=block,sync bs=4 2>/dev/null; + @dd if=$< of=$@ conv=sync bs=4 2>/dev/null; spl/boot.bin: $(obj)/$(SPL_BIN)-align.bin FORCE $(call if_changed,mkimage) diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile index 6f309b37e08..2ba8dba03be 100644 --- a/scripts/dtc/Makefile +++ b/scripts/dtc/Makefile @@ -17,15 +17,7 @@ fdtoverlay-objs := $(libfdt) fdtoverlay.o util.o # Source files need to get at the userspace version of libfdt_env.h to compile HOST_EXTRACFLAGS := -I$(srctree)/$(src)/libfdt -ifeq ($(wildcard $(PKG_CONFIG_SYSROOT_DIR)/usr/include/yaml.h),) HOST_EXTRACFLAGS += -DNO_YAML -else -dtc-objs += yamltree.o -# To include <yaml.h> installed in a non-default path -HOSTCFLAGS_yamltree.o := $(shell pkg-config --cflags yaml-0.1) -# To link libyaml installed in a non-default path -HOSTLDLIBS_dtc := $(shell pkg-config --libs yaml-0.1) -endif # Generated files need one more search path to include headers in source tree HOSTCFLAGS_dtc-lexer.lex.o := -I$(src) diff --git a/scripts/dtc/libfdt/fdt_overlay.c b/scripts/dtc/libfdt/fdt_overlay.c index ee64f0b8110..e40cfe8c3c7 100644 --- a/scripts/dtc/libfdt/fdt_overlay.c +++ b/scripts/dtc/libfdt/fdt_overlay.c @@ -407,7 +407,8 @@ static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off, const char *fixup_str = value; uint32_t path_len, name_len; uint32_t fixup_len; - char *sep, *endptr; + const char *sep; + char *endptr; int poffset, ret; fixup_end = memchr(value, '\0', len); diff --git a/scripts/dtc/update-dtc-source.sh b/scripts/dtc/update-dtc-source.sh index 32ff17ffd08..94627541533 100755 --- a/scripts/dtc/update-dtc-source.sh +++ b/scripts/dtc/update-dtc-source.sh @@ -32,7 +32,7 @@ DTC_UPSTREAM_PATH=`pwd`/../dtc DTC_LINUX_PATH=`pwd`/scripts/dtc DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \ - srcpos.h treesource.c util.c util.h version_gen.h yamltree.c \ + srcpos.h treesource.c util.c util.h version_gen.h \ dtc-lexer.l dtc-parser.y" LIBFDT_SOURCE="fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \ fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \ |
