On Wed, Oct 10, 2018 at 03:55:32PM -0500, Eric Sandeen wrote: > Brian Norris reported that "The $BUILD_CC toolchain might have an > older set of Linux headers than the $CC toolchain. It's generally > unsafe to try to build both with the same definitions, but in > particular, this one can cause compilation failures in the local > crc32selftest build: [failure to find fsmap.h]" > > It seems like the most straightforward thing to do here is include > a specific set of system headers, instead of pulling in the whole > xfs.h header chain which has multiple tests and definitions in > place for headers that may or may not be there during the build. > > Reported-by: Brian Norris <briannorris@xxxxxxxxxxxx> > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > Brian, here's try #3, does this also work for you? Tested-by: Brian Norris <briannorris@xxxxxxxxxxxx> This still leaves $BUILD_CFLAGS with bad entries, but as long as they don't get used anywhere that matters, it'll be OK. Brian > diff --git a/libfrog/crc32.c b/libfrog/crc32.c > index 1d52f68..220b33b 100644 > --- a/libfrog/crc32.c > +++ b/libfrog/crc32.c > @@ -29,8 +29,11 @@ > * match the hardware acceleration available on Intel CPUs. > */ > > +#include <inttypes.h> > +#include <asm/types.h> > +#include <sys/time.h> > #include "platform_defs.h" > -#include "xfs.h" > +/* For endian conversion routines */ > #include "xfs_arch.h" > #include "crc32defs.h" > >