mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
firmware_loader: builtin: fail build on empty firmware
If an empty firmware file is supplied via CONFIG_EXTRA_FIRMWARE, the build currently succeeds but creates an empty section. While the firmware loader will not return such sections it is better to avoid adding them in the first place. Add a compile-time size check to the filechk_fwbin macro to abort the build early if a 0-size firmware is encountered. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://patch.msgid.link/20260426043041.649202-2-dmitry.torokhov@gmail.com [ Use 'exit 1' to properly fail the build. - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
d059966c0c
commit
1160c2208f
|
|
@ -16,20 +16,24 @@ ASM_ALIGN = $(if $(CONFIG_64BIT),3,2)
|
|||
PROGBITS = $(if $(CONFIG_ARM),%,@)progbits
|
||||
|
||||
filechk_fwbin = \
|
||||
echo "/* Generated by $(src)/Makefile */" ;\
|
||||
echo " .section .rodata" ;\
|
||||
echo " .p2align 4" ;\
|
||||
echo "_fw_$(FWSTR)_bin:" ;\
|
||||
echo " .incbin \"$(fwdir)/$(FWNAME)\"" ;\
|
||||
echo "_fw_end:" ;\
|
||||
echo " .section .rodata.str,\"aMS\",$(PROGBITS),1" ;\
|
||||
echo " .p2align $(ASM_ALIGN)" ;\
|
||||
echo "_fw_$(FWSTR)_name:" ;\
|
||||
echo " .string \"$(FWNAME)\"" ;\
|
||||
echo " .section .builtin_fw,\"a\",$(PROGBITS)" ;\
|
||||
echo " .p2align $(ASM_ALIGN)" ;\
|
||||
echo " $(ASM_WORD) _fw_$(FWSTR)_name" ;\
|
||||
echo " $(ASM_WORD) _fw_$(FWSTR)_bin" ;\
|
||||
if [ ! -s "$(fwdir)/$(FWNAME)" ]; then \
|
||||
echo "error: empty firmware: $(fwdir)/$(FWNAME)" >&2 ;\
|
||||
exit 1 ;\
|
||||
fi ;\
|
||||
echo "/* Generated by $(src)/Makefile */" ;\
|
||||
echo " .section .rodata" ;\
|
||||
echo " .p2align 4" ;\
|
||||
echo "_fw_$(FWSTR)_bin:" ;\
|
||||
echo " .incbin \"$(fwdir)/$(FWNAME)\"" ;\
|
||||
echo "_fw_end:" ;\
|
||||
echo " .section .rodata.str,\"aMS\",$(PROGBITS),1" ;\
|
||||
echo " .p2align $(ASM_ALIGN)" ;\
|
||||
echo "_fw_$(FWSTR)_name:" ;\
|
||||
echo " .string \"$(FWNAME)\"" ;\
|
||||
echo " .section .builtin_fw,\"a\",$(PROGBITS)" ;\
|
||||
echo " .p2align $(ASM_ALIGN)" ;\
|
||||
echo " $(ASM_WORD) _fw_$(FWSTR)_name" ;\
|
||||
echo " $(ASM_WORD) _fw_$(FWSTR)_bin" ;\
|
||||
echo " $(ASM_WORD) _fw_end - _fw_$(FWSTR)_bin"
|
||||
|
||||
$(obj)/%.gen.S: FORCE
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user