summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2025-05-29kbuild: add -Werror=strict-prototypes flag unconditionallyIlias Apalodimas
Backported from kernel commit eeb5687a7139649e ("kbuild: add -Werror=strict-prototypes flag unconditionally") Signed-off-by: Ilias Apalodimas <[email protected]>
2025-05-29kbuild: make -r/-R effective in top Makefile for old Make versionsIlias Apalodimas
Backported from kernel commit 3812b8c5c5d5 ("kbuild: make -r/-R effective in top Makefile for old Make versions") Signed-off-by: Ilias Apalodimas <[email protected]>
2025-05-29kbuild: remove unused archmrproperIlias Apalodimas
Backported from kernel commit b421b8a6cb87 ("kbuild: remove unused archmrproper") Signed-off-by: Ilias Apalodimas <[email protected]>
2025-05-29kbuild: let fixdep directly write to .*.cmd filesIlias Apalodimas
Backport from kernel commit 392885ee82d3 ("kbuild: let fixdep directly write to .*.cmd files") Signed-off-by: Ilias Apalodimas <[email protected]>
2025-05-26Prepare v2025.07-rc3v2025.07-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-05-12Prepare v2025.07-rc2v2025.07-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-05-11doc: pytest: Framework for documenting tests and document test_000_versionTom Rini
In order to easily document pytests, we need to include the autodoc extension. We also need to make sure that for building the docs, CI includes pytest and that we have PYTHONPATH configured such that it will find all of the tests and related files. Finally, we need to have our comments in the test file by in proper pydoc format in order to be included in the output. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-05-05Add HOST_ARCH detection for armv5tel and armv6lBen Wolsieffer
Since 7506c15, HOST_ARCH is now used by the EFI loader even when CONFIG_SANDBOX is disabled. When cross-compiling, the Makefile defines HOST_ARCH based on the cross-compiler prefix, but this definition fails to cover some common compiler prefixes. When cross-compiling U-Boot in nixpkgs, we use CROSS_COMPILE=armv6l-unknown-linux-gnueabihf-, which results in HOST_ARCH being undefined and causes a build failure. Fix this by adding armv6l to the match for ARM. Also add armv5tel, as this is another possible ARM compiler prefix. Signed-off-by: ZHANG Yuntian <[email protected]> Signed-off-by: Ben Wolsieffer <[email protected]>
2025-05-03Makefile: add some files to CLEAN_FILESAlice Guo
When building the flash.bin of i.MX95 with binman, mkimage.imx-boot.spl, mkimage.imx-boot.u-boot, mkimage-out.imx-boot.spl and mkimage-out.imx-boot.u-boot are created. Add these files to CLEAN_FILES so that they can be removed when running "make clean". Signed-off-by: Alice Guo <[email protected]>
2025-04-28Prepare v2025.07-rc1v2025.07-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-04-13efi_loader: Moved the generated ESL file to objtreeIlias Apalodimas
Tom reports that generating the ESL file we need for authenticated capsule updates fails to work on azure which expects a RO git tree. Move it to $(objtree) Reported-by: Tom Rini <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-04-11Merge patch series "Switch to using $(PHASE_) in Makefiles"Tom Rini
Tom Rini <[email protected]> says: This series switches to always using $(PHASE_) in Makefiles when building rather than $(PHASE_) or $(XPL_). It also starts on documenting this part of the build, but as a follow-up we need to rename doc/develop/spl.rst and expand on explaining things a bit. Link: https://lore.kernel.org/r/[email protected]
2025-04-11Kbuild: Always use $(PHASE_)Tom Rini
It is confusing to have both "$(PHASE_)" and "$(XPL_)" be used in our Makefiles as part of the macros to determine when to do something in our Makefiles based on what phase of the build we are in. For consistency, bring this down to a single macro and use "$(PHASE_)" only. Signed-off-by: Tom Rini <[email protected]>
2025-04-11efi_loader: Move public cert for capsules to .rodataIlias Apalodimas
commit ddf67daac39d ("efi_capsule: Move signature from DTB to .rodata") was reverted in commit 47a25e81d35c ("Revert "efi_capsule: Move signature from DTB to .rodata"") because that's what U-Boot was usually doing -- using the DT to store configuration and data. Some of the discussions can be found here [0]. (Ab)using the device tree to store random data isn't ideal though. On top of that with new features introduced over the years, keeping the certificates in the DT has proven to be problematic. One of the reasons is that platforms might send U-Boot a DTB from the previous stage loader using a transfer list which won't contain the signatures since other loaders are not aware of internal U-Boot ABIs. On top of that QEMU creates the DTB on the fly, so adding the capsule certificate there does not work and requires users to dump it and re-create it injecting the public keys. Now that we have proper memory permissions for arm64, move the certificate to .rodata and read it from there. [0] https://lore.kernel.org/u-boot/CAPnjgZ2uM=n8Qo-a=DUkx5VW5Bzp5Xy8=Wgmrw8ESqUBK00YJQ@mail.gmail.com/ Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Jonathan Humphreys <[email protected]> # on TI sk-am62p-lp Tested-by: Neil Armstrong <[email protected]> # on AML-A311D-CC Tested-by: Raymond Mao <[email protected]>
2025-04-08Merge branch 'next'Tom Rini
Note that this undoes the changes of commit cf6d4535cc4c ("x86: emulation: Disable bloblist for now") as that was intended only for the release due to time.
2025-04-07Prepare v2025.04v2025.04Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-04-02Merge patch series "Various toolchain compatibility fixes/improvements"Tom Rini
Sam Edwards <[email protected]> says: This is v2 of my "misc. fixes" series, sent to prepare the codebase for more direct LLVM support in the near future. This series contains several fixes that I found in the process of preparing that support and which address issues independent of any future feature or enhancement. I am sending these now, both so that their inclusion is not delayed by discussion on my upcoming series and to make the latter more manageable. Link: https://lore.kernel.org/r/[email protected]
2025-04-02makefile: Add READELF command variableSam Edwards
This allows setting READELF=llvm-readelf in order to use the LLVM version of the readelf utility. It also aligns with the practice of not using $(CROSS_COMPILE) in any build recipes directly, reducing the number of places where $(CROSS_COMPILE) is used. Signed-off-by: Sam Edwards <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-02makefile: Add `norelro` linker optionSam Edwards
RELRO is an instruction to a dynamic loader to make a memory range read-only after relocations are applied, for added security. Some linkers (e.g. LLD) require that all sections covered by the RELRO are contiguous, so that only a single RELRO is needed. U-Boot at present neither satisfies this requirement (e.g. x86_64 linker script currently puts .dynamic too far from .got) nor preserves the RELRO when converting away from ELF, therefore add `-z norelro` to global linker options. This can be brought back in the future when the linker scripts are cleaned up and U-Boot understands RELROs. Signed-off-by: Sam Edwards <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-02makefile: Avoid objcopy --gap-fill for .hex/.srecSam Edwards
This flag only makes sense for `binary` output, because .hex/.srec are sparse formats and represent gaps without filler. While the GNU binutils version of objcopy does not seem to mind the extra flag being passed, llvm-objcopy considers this a fatal error. There is already a version of the objcopy command template in the Makefile that doesn't use --gap-fill, which is provided for EFI. So use this other version for all .hex/.srec outputs as well. Signed-off-by: Sam Edwards <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-03-24Merge tag 'v2025.04-rc5' into nextTom Rini
Prepare v2025.04-rc5
2025-03-24Prepare v2025.05-rc5v2025.04-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-03-10Merge tag 'v2025.04-rc4' into nextTom Rini
This uses Heinrich's merge of lib/efi_loader/efi_net.c which results in no changes.
2025-03-10Prepare v2025.04-rc4v2025.04-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-03-10Merge tag 'u-boot-dfu-next-20250310' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20250310 CI: - https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/25060 Usb gadget: - Remove legacy CONFIG_USB_DEVICE - Remove legacy usbtty driver
2025-03-10env: Provide a work-around for unquoting fdtfileSimon Glass
Some boards use a CONFIG option to specify the value of this variable. This is normally handled by efi_get_distro_fdt_name() but in the case of sunxi this does not work, since 'soc' is sunxi, but the files are in the allwinner directory. Provide a work-around for this particular case. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-03-10usb: gadget: Remove final remnants of CONFIG_USB_DEVICETom Rini
The lone user of the legacy USB device framework have been removed for some time. Remove the final parts of the code that were missed. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-27mbedtls: refactor mbedtls build for XPLRaymond Mao
Refactor the entire kconfig page for mbedtls, adapt mbedtls makefile and default config file using 'XPL_', in order to have independent mbedtls kconfig options in U-Boot Proper, SPL, TPL and VPL. User can choose legacy or mbedtls libraries for them independently. Set mbedtls native hashing libraries as default when MBEDTLS_LIB, SPL_MBEDTLS_LIB, TPL_MBEDTLS_LIB or VPL_MBEDTLS_LIB is selected. If users prefer using U-Boot legacy hashing libraries, please select MBEDTLS_LIB_HASHING_ALT, SPL_MBEDTLS_LIB_HASHING_ALT, TPL_MBEDTLS_LIB_HASHING_ALT or VPL_MBEDTLS_LIB_HASHING_ALT for U-Boot Proper, SPL, TPL and VPL respectively. Moreover, rename a few kconfig options and update their descriptions to improve the consistency of terminology. Signed-off-by: Raymond Mao <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-02-24Merge tag 'v2025.04-rc3' into nextTom Rini
Prepare v2025.04-rc3
2025-02-24Prepare v2025.04-rc3v2025.04-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-02-21arm: mediatek: build u-boot-mtk.bin only if neededWeijie Gao
Not all MediaTek platforms needs u-boot-mtk.bin. This patch will let u-boot generates u-boot-mtk.bin only if CONFIG_MTK_BROM_HEADER_INFO is not empty. Signed-off-by: Weijie Gao <[email protected]>
2025-02-18u-boot-initial-env: Add missing dependenciesTom Rini
When performing a build consisting of only a defconfig target and then this tool, we were missing two dependencies. Add them. Signed-off-by: Tom Rini <[email protected]>
2025-02-11test: Move fdt-overlay-test rule into test/Simon Glass
The Makefile rules for tests should be within test/Makefile so move the 'fdt-overlay' rule over. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Move optee-test rule into test/Simon Glass
The Makefile rules for tests should be within test/Makefile so move the 'optee' rule over. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Move env-test rule into test/Simon Glass
The Makefile rules for tests should be within test/Makefile so move the 'env' rule over. Signed-off-by: Simon Glass <[email protected]>
2025-02-11test: Tweak FDT-overlay testsSimon Glass
Use fdt_overlay consistently in the identifiers and file/dir names. Signed-off-by: Simon Glass <[email protected]>
2025-02-10Prepare v2025.04-rc2v2025.04-rc2Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-01-27Prepare v2025.04-rc1v2025.04-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-01-18Merge tag 'efi-2025-04-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-04-rc1 Documentation: * Correct the defconfig name in the coolpi documentation UEFI: * Carve out the biggest part of the RISC-V and ARM linker scripts for EFI binary into a common include. * Correct the values of SizeOfCode and SizeOfInitializedData in generated EFI binaries for RISC-V and ARM. * Avoid gaps between sections in EFI binaries causing a failure in secure boot. * Makefile: let clean remove capsule_in.capsule*.efi-capsule * Refactor some of the code used for launching EFI binaries.
2025-01-18Makefile: Make sure all linker input objects existMarek Vasut
In case the build system builds a directory with empty Makefile, one which does not contain any obj-y entries, the build fails to link due to missing built-in.o . This happens because of this part of scripts/Makefile.build 81 ifneq ($(strip $(obj-y) $(obj-m) $(obj-) $(subdir-m) $(lib-target)),) 82 builtin-target := $(obj)/built-in.o 83 endif which does not assign builtin-target in case obj-y is empty. The built-in target is then not built at all, and built-in.o is not generated by this part of scripts/Makefile.build 325 ifdef builtin-target 326 quiet_cmd_link_o_target = AR $@ 327 # If the list of objects to link is empty, just create an empty built-in.o ... 335 targets += $(builtin-target) 336 endif # builtin-target This is the correct behavior. The final link however expects the built-in.o to exist in every directory included in the build, even in those where the aforementioned code skipped generation of built-in.o . Make sure the built-in.o does exist for every directory used in final link simply by doing touch on every built-in.o used for the link, which will create empty built-in.o in case any built-in.o is missing. A possible alternative fix is the always define the builtin-target and always generate built-in.o . Signed-off-by: Marek Vasut <[email protected]> Tested-by: Quentin Schulz <[email protected]>
2025-01-18arm64: renesas: Rewrite u-boot-elf.srec base address if PIE for R-Car Gen3Marek Vasut
The flash_writer tool and previous recovery tools require the SREC load address to be 0x5000_0000 . The PIE U-Boot build sets the address to 0x0 instead, so override the address back to make u-boot-elf.srec compatible with the recovery tools. Tested-by: Niklas Söderlund <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-01-17Makefile: let clean remove capsule_in.capsule*.efi-capsuleHeinrich Schuchardt
Update the CLEAN_FILES list to remove capsule*.*.efi-capsule. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-01-08Merge branch 'next'Tom Rini
2025-01-06Prepare v2025.01v2025.01Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-12-31Merge tag 'v2025.01-rc6' into nextTom Rini
Prepare v2025.01-rc6
2024-12-30Prepare v2025.01-rc6v2025.01-rc6Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-12-25Merge tag 'v2025.01-rc5' into nextTom Rini
Prepare v2025.01-rc5
2024-12-23Prepare v2025.01-rc5v2025.01-rc5Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-12-19Makefile: Match the full path to ccache for filteringManorit Chawdhry
One can use ccache by keeping ccache in PATH or by providing the full path to ccache as well. Providing the full path to ccache fails as the current regex tries to look for ccache being the initial token during filtering. Do a greedy search to remove anything before ccache for regex matching. Fixes: 04b1d84221d5 ("Makefile: fix empty MK_ARCH when using ccache") Signed-off-by: Manorit Chawdhry <[email protected]>
2024-12-09Merge tag 'v2025.01-rc4' into nextTom Rini
Prepare v2025.01-rc4