Message ID | 20190418203455.7985-1-alex.kiernan@gmail.com |
---|---|
State | Accepted |
Commit | 89665f2eb1e074d427af38eea71d924be6f2f15c |
Delegated to: | Tom Rini |
Headers | show |
Series | [U-Boot] Refactor IMAGE_ENABLE_VERIFY to handle builds without SPL verification | expand |
On Thu, 18 Apr 2019 at 14:35, Alex Kiernan <alex.kiernan@gmail.com> wrote: > > If building with SPL_LOAD_FIT_FULL and FIT_SIGNATURE, but without > SPL_FIT_SIGNATURE then the build fails with: > > common/built-in.o: In function `fit_image_verify_with_data': > common/image-fit.c:1220: undefined reference to `fit_image_verify_required_sigs' > common/image-fit.c:1244: undefined reference to `fit_image_check_sig' > common/built-in.o: In function `fit_image_load': > common/image-fit.c:1857: undefined reference to `fit_config_verify' > > Refactor so that host builds still depend on FIT_SIGNATURE, but target > builds check FIT_SIGNATURE/SPL_FIT_SIGNATURE dependent on the build. > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > --- > Green travis build: > > https://travis-ci.org/akiernan/u-boot/builds/521570862 > > include/image.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Reviewed-by: Simon Glass <sjg@chromium.org>
On Thu, Apr 18, 2019 at 08:34:55PM +0000, Alex Kiernan wrote: > If building with SPL_LOAD_FIT_FULL and FIT_SIGNATURE, but without > SPL_FIT_SIGNATURE then the build fails with: > > common/built-in.o: In function `fit_image_verify_with_data': > common/image-fit.c:1220: undefined reference to `fit_image_verify_required_sigs' > common/image-fit.c:1244: undefined reference to `fit_image_check_sig' > common/built-in.o: In function `fit_image_load': > common/image-fit.c:1857: undefined reference to `fit_config_verify' > > Refactor so that host builds still depend on FIT_SIGNATURE, but target > builds check FIT_SIGNATURE/SPL_FIT_SIGNATURE dependent on the build. > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > Reviewed-by: Simon Glass <sjg@chromium.org> Applied to u-boot/master, thanks!
diff --git a/include/image.h b/include/image.h index 765ffecee0a7..c8522189ebab 100644 --- a/include/image.h +++ b/include/image.h @@ -1071,18 +1071,18 @@ int calculate_hash(const void *data, int data_len, const char *algo, * At present we only support signing on the host, and verification on the * device */ -#if defined(CONFIG_FIT_SIGNATURE) -# ifdef USE_HOSTCC +#if defined(USE_HOSTCC) +# if defined(CONFIG_FIT_SIGNATURE) # define IMAGE_ENABLE_SIGN 1 # define IMAGE_ENABLE_VERIFY 1 -# include <openssl/evp.h> -#else +# include <openssl/evp.h> +# else # define IMAGE_ENABLE_SIGN 0 -# define IMAGE_ENABLE_VERIFY 1 +# define IMAGE_ENABLE_VERIFY 0 # endif #else # define IMAGE_ENABLE_SIGN 0 -# define IMAGE_ENABLE_VERIFY 0 +# define IMAGE_ENABLE_VERIFY CONFIG_IS_ENABLED(FIT_SIGNATURE) #endif #ifdef USE_HOSTCC
If building with SPL_LOAD_FIT_FULL and FIT_SIGNATURE, but without SPL_FIT_SIGNATURE then the build fails with: common/built-in.o: In function `fit_image_verify_with_data': common/image-fit.c:1220: undefined reference to `fit_image_verify_required_sigs' common/image-fit.c:1244: undefined reference to `fit_image_check_sig' common/built-in.o: In function `fit_image_load': common/image-fit.c:1857: undefined reference to `fit_config_verify' Refactor so that host builds still depend on FIT_SIGNATURE, but target builds check FIT_SIGNATURE/SPL_FIT_SIGNATURE dependent on the build. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- Green travis build: https://travis-ci.org/akiernan/u-boot/builds/521570862 include/image.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)