[RFC PATCH u-boot 05/12] binman: declare symbols externally visible

Marek Behun marek.behun at nic.cz
Thu Mar 4 02:53:58 CET 2021


On Wed, 3 Mar 2021 19:37:09 -0500
Tom Rini <trini at konsulko.com> wrote:

> 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.behun at 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.
> 

I have this fixed in CI already. There is new version of these patches
there.


More information about the U-Boot mailing list