On Tue, Mar 15, 2022 at 11:02:14PM -0700, Bill Wendling wrote: > Clang warns about using a bitwise '|' with boolean operands. This seems > to be due to a small typo. > > lib/libfdt/fdt_rw.c:438:6: warning: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical] > if (can_assume(LIBFDT_ORDER) | > > Using '||' removes this warnings. > > Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx> > --- > lib/libfdt/fdt_rw.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/libfdt/fdt_rw.c b/lib/libfdt/fdt_rw.c > index 13854253ff86..3320e5559cac 100644 > --- a/lib/libfdt/fdt_rw.c > +++ b/lib/libfdt/fdt_rw.c > @@ -435,7 +435,7 @@ int fdt_open_into(const void *fdt, void *buf, int bufsize) > return struct_size; > } > > - if (can_assume(LIBFDT_ORDER) | > + if (can_assume(LIBFDT_ORDER) || > !fdt_blocks_misordered_(fdt, mem_rsv_size, struct_size)) { > /* no further work necessary */ > err = fdt_move(fdt, buf, bufsize); > -- > 2.35.1.723.g4982287a31-goog > This is fixed in libfdt upstream with commit 7be250b4 ("libfdt: Correct condition for reordering blocks"), which is in v1.6.1. We can either take this patch as a backport of 7be250b4 or we can rebase all of our libfdt to v1.6.1. Based on the number of fixes in v1.6.1, which appear to be mostly for compiling with later compilers, I'm in favor of rebasing. Actually, we can also use this opportunity to [re]visit the idea of changing libfdt to a git submodule. I'd like to hear opinions on that. Thanks, drew