[U-Boot] [PATCH] bch: Fix build on FreeBSD host

Emmanuel Vadot manu at bidouilliste.com
Wed Jul 19 07:56:20 UTC 2017


On Wed, 19 Jul 2017 16:26:13 +1000
Jonathan Gray <jsg at jsg.id.au> wrote:

> On Tue, Jun 20, 2017 at 09:02:29AM +0200, Emmanuel Vadot wrote:
> > endian.h on FreeBSD system exist in sys/ subdirectory.
> > FreeBSD already have a fls function defined in strings.h which is included
> > in string.h if __BSD_VISIBLE is defined, as a check for this.
> 
> This broke the build of u-boot on OpenBSD where there is no fls in
> strings.h.

 Ok, I'll come up with a more specific patch for FreeBSD.
 Does OpenBSD have endian.h under sys/ too ?

> > 
> > Signed-off-by: Emmanuel Vadot <manu at bidouilliste.com>
> > ---
> >  lib/bch.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/lib/bch.c b/lib/bch.c
> > index ec53483774..7a2d9d3b86 100644
> > --- a/lib/bch.c
> > +++ b/lib/bch.c
> > @@ -61,7 +61,11 @@
> >  #include <linux/bitops.h>
> >  #else
> >  #include <errno.h>
> > +#if defined(__FreeBSD__)
> > +#include <sys/endian.h>
> > +#else
> >  #include <endian.h>
> > +#endif
> >  #include <stdint.h>
> >  #include <stdlib.h>
> >  #include <string.h>
> > @@ -113,6 +117,7 @@ struct gf_poly_deg1 {
> >  };
> >  
> >  #ifdef USE_HOSTCC
> > +#ifndef __BSD_VISIBLE
> >  static int fls(int x)
> >  {
> >  	int r = 32;
> > @@ -142,6 +147,7 @@ static int fls(int x)
> >  	return r;
> >  }
> >  #endif
> > +#endif
> >  
> >  /*
> >   * same as encode_bch(), but process input data one byte at a time
> > -- 
> > 2.13.1
> > 
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot


-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the U-Boot mailing list