On Wed, Mar 03, 2021 at 05:12:04AM +0100, Marek Behún wrote:

> Use the `__visible` macro to declare binman symbols externally visible,
> so that when building with LTO the compiler does not optimize this data
> away.
> 
> Signed-off-by: Marek Behún <marek.be...@nic.cz>
> ---
>  include/binman.h     | 1 +
>  include/binman_sym.h | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/include/binman.h b/include/binman.h
> index 5958dfb448..e72e85d4b7 100644
> --- a/include/binman.h
> +++ b/include/binman.h
> @@ -9,6 +9,7 @@
>  #ifndef _BINMAN_H_
>  #define _BINMAN_H_
>  
> +#include <linux/compiler.h>
>  #include <dm/ofnode.h>
>  
>  /**
> diff --git a/include/binman_sym.h b/include/binman_sym.h
> index 72e6765fe5..55421f5893 100644
> --- a/include/binman_sym.h
> +++ b/include/binman_sym.h
> @@ -33,7 +33,7 @@
>   * @_prop_name: Property value to get from that entry (e.g. 'pos')
>   */
>  #define binman_sym_declare(_type, _entry_name, _prop_name) \
> -     _type binman_symname(_entry_name, _prop_name) \
> +     _type binman_symname(_entry_name, _prop_name) __visible \
>               __attribute__((aligned(4), unused, section(".binman_sym")))
>  
>  /**
> @@ -58,7 +58,7 @@
>   * @_prop_name: Property value to get from that entry (e.g. 'pos')
>   */
>  #define binman_sym_declare_optional(_type, _entry_name, _prop_name) \
> -     _type binman_symname(_entry_name, _prop_name) \
> +     _type binman_symname(_entry_name, _prop_name) __visible \
>               __attribute__((aligned(4), weak, unused, \
>               section(".binman_sym")))

I see failure to run test suites:
https://source.denx.de/u-boot/u-boot/-/jobs/232926
and adding <linux/compiler.h> to binman_sym.h leads to the same problem.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to