From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Behun Date: Thu, 4 Mar 2021 02:53:58 +0100 Subject: [RFC PATCH u-boot 05/12] binman: declare symbols externally visible In-Reply-To: <20210304003709.GS1310@bill-the-cat> References: <20210303041211.26945-1-marek.behun@nic.cz> <20210303041211.26945-6-marek.behun@nic.cz> <20210304003709.GS1310@bill-the-cat> Message-ID: <20210304025358.5a5b7c34@nic.cz> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, 3 Mar 2021 19:37:09 -0500 Tom Rini 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 > > --- > > 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 > > #include > > > > /** > > 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 to binman_sym.h leads to the same problem. > I have this fixed in CI already. There is new version of these patches there.