efi_loader: Work-around build issue due to missing hash_calculate()
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>
Mon, 24 May 2021 19:28:57 +0000 (14:28 -0500)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Fri, 28 May 2021 14:17:01 +0000 (16:17 +0200)
commit464010b0be09505aaf50ec208f996a6cf478a2dc
tree72d86d0ec38d9fdefb751e6ad6794271df66723d
parentec0512b173bfe45bc6dc03dfcff40fec419239bb
efi_loader: Work-around build issue due to missing hash_calculate()

The hash_calculate() symbol is provided by hash-checksum.c. It depends
on hash_progressive_lookup_algo(), provided when CONFIG_HASH=y.

The issue is that hash_calculate() is used by the efi_loader,
irregardless of CONFIG_FIT_SIGNATURE. As pointed out in
commit 87316da05f2f ("lib: introduce HASH_CALCULATE option"),
enabling hash_calculate() based on CONFIG_FIT_SIGNATURE is incorrect.

To resolve this, use CONFIG_HASH as the compile switch for
hash-checksum.c. This ensures that all dependencies are compiled, and
is the most natural Kconfig to use.

There is the issue of having to 'select HASH' in a couple of places
that already 'select SHA256'. This is a deeper problem with how hashes
are organized, and fixing it is beyonf the scope of this change.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Acked-by: Masahisa Kojima <masahisa.kojima@linaro.org>
lib/Makefile
lib/efi_loader/Kconfig