[U-Boot] [PATCH v3 5/6] lib: crc32: mark function crc32() as __efi_runtime

Alexander Graf agraf at suse.de
Sun Jul 8 21:25:15 UTC 2018



On 07.07.18 15:36, Heinrich Schuchardt wrote:
> The function crc32() is needed by the EFI subsystem at runtime. So it has
> to be linked into the runtime section together with all dependencies.
> 
> Eliminate empty define ZEXPORT.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> v3
> 	new patch
> ---
>  lib/crc32.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/lib/crc32.c b/lib/crc32.c
> index 7f545fde4a..bcb140ba06 100644
> --- a/lib/crc32.c
> +++ b/lib/crc32.c
> @@ -12,6 +12,7 @@
>  #include <arpa/inet.h>
>  #else
>  #include <common.h>
> +#include <efi_loader.h>
>  #endif
>  #include <compiler.h>
>  #include <u-boot/crc.h>
> @@ -21,8 +22,11 @@
>  #endif
>  #include "u-boot/zlib.h"
>  
> -#define local static
> -#define ZEXPORT	/* empty */
> +#ifdef USE_HOSTCC
> +#define __efi_runtime
> +#define __efi_runtime_data
> +#endif
> +#define local static __efi_runtime_data

This pushes functions into the data section - which is probably not what
we want. Eventually we may want to have NX protection, so we need to
separate code and data as well as we can.


Alex


More information about the U-Boot mailing list