[Buildroot] [PATCH] package/libselinux: host gcc at least 4.7

Baruch Siach baruch at tkos.co.il
Mon Aug 13 15:05:59 UTC 2018


Hi Matt,

On Mon, Aug 13, 2018 at 09:56:57AM -0500, Matthew Weber wrote:
> On Mon, Aug 13, 2018 at 9:54 AM Baruch Siach <baruch at tkos.co.il> wrote:
> > On Mon, Aug 13, 2018 at 09:50:24AM -0500, Matthew Weber wrote:
> > > On Mon, Aug 13, 2018 at 9:47 AM Baruch Siach <baruch at tkos.co.il> wrote:
> > > > On Mon, Aug 13, 2018 at 09:33:26AM -0500, Matt Weber wrote:
> > > > > Resolves.
> > > > > label_file.h: In function 'compile_regex':
> > > > > label_file.h:353: error: '__ATOMIC_ACQUIRE' undeclared (first use in this function)
> > > > > label_file.h:353: error: (Each undeclared identifier is reported only once
> > > > > label_file.h:353: error: for each function it appears in.)
> > > > > label_file.h:405: error: '__ATOMIC_RELEASE' undeclared (first use in this function)
> > > > >
> > > > > Fixes:
> > > > > http://autobuild.buildroot.net/results/3d3/3d3ecf63236bb41abca7d1996619ba697a7cbdb8/
> > > > > http://autobuild.buildroot.net/results/e98/e98789785a03e238e7cdca0ad07526d70fcfa30b/
> > > > >
> > > > > Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
> > > > > ---
> > > > >  package/libselinux/Config.in | 2 ++
> > > > >  1 file changed, 2 insertions(+)
> > > > >
> > > > > diff --git a/package/libselinux/Config.in b/package/libselinux/Config.in
> > > > > index 6be816db77..74d87bef1a 100644
> > > > > --- a/package/libselinux/Config.in
> > > > > +++ b/package/libselinux/Config.in
> > > > > @@ -6,6 +6,8 @@ config BR2_PACKAGE_LIBSELINUX
> > > > >       depends on BR2_TOOLCHAIN_USES_GLIBC
> > > > >       # Toolchain issue: "fixup not contained within frag"
> > > > >       depends on !BR2_arc
> > > > > +     # Uses __ATOMIC_*
> > > > > +     depends on BR2_HOST_GCC_AT_LEAST_4_7
> > > >
> > > > You add the dependency to the target libselinux. But libselinux is not even
> > > > enabled in the build configs you reference in the commit log. The failing
> > > > package is host-libselinux.
> > > >
> > > > We don't see target libselinux failures in autobuilders because we don't test
> > > > target toolchains older than gcc 4.7. This change is probably correct though,
> > > > but it doesn't fix the autobuilders. In any case, for target libselinux you
> > > > need to propagate this dependency to all libselinux reverse dependencies.
> > >
> > > Ah true..... host-.  So I need to add a randconfig update.  I'll fix
> > > the dependency propogation you mention and add a second patch for the
> > > cfg generation filtering
> >
> > Note that you need to propagate the host- dependency as well.
> 
> You mean in utils/genrandconfig's update for this, right?

No. I mean all host and target packages that have host-libselinux in their 
_DEPENDENCIES. Otherwise, enabling any of them would cause a build of 
host-libselinux regardless of the Config.in dependency.

Isn't it easier to apply the alternative patch that uses the older __sync 
routines for older gcc?

> For the original patch above, I'm assuming I should propogate the
> depends on BR2_HOST_GCC_AT_LEAST_4_7  but also add depends on
> BR2_GCC_AT_LEAST_4_7.

Both dependencies need to be propagated, as far as I understand.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -



More information about the buildroot mailing list