[PATCH 14/15] samples/seccomp: be less stupid about cross compiling

Kees Cook keescook at chromium.org
Tue Jan 22 16:20:12 EST 2013


On Mon, Jan 21, 2013 at 9:16 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> The seccomp filters are currently built for the build
> host, not for the machine that they are going to run
> on, but they are also built for with the -m32 flag
> if the kernel is built for a 32 bit machine, both
> of which seems rather odd.
>
> It broke allyesconfig on my machine, which is x86-64, but
> building for 32 bit ARM, with this error message:
>
> In file included from /usr/include/stdio.h:28:0,
>                  from samples/seccomp/bpf-fancy.c:15:
> /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
>
> because there are no 32 bit libc headers installed on
> this machine. We should really be building all the
> samples for the target machine rather than the build
> host, but since the infrastructure for that appears
> to be missing right now, let's be a little bit smarter
> and not pass the '-m32' flag to the HOSTCC when cross-
> compiling.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
> Cc: Kees Cook <keescook at chromium.org>
> Cc: James Morris <james.l.morris at oracle.com>

I'm fine with this. Thanks!

Acked-by: Kees Cook <keescook at chromium.org>

-Kees

> ---
>  samples/seccomp/Makefile |    2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/samples/seccomp/Makefile b/samples/seccomp/Makefile
> index bbbd276..7203e66 100644
> --- a/samples/seccomp/Makefile
> +++ b/samples/seccomp/Makefile
> @@ -19,6 +19,7 @@ bpf-direct-objs := bpf-direct.o
>
>  # Try to match the kernel target.
>  ifndef CONFIG_64BIT
> +ifndef CROSS_COMPILE
>
>  # s390 has -m31 flag to build 31 bit binaries
>  ifndef CONFIG_S390
> @@ -35,6 +36,7 @@ HOSTLOADLIBES_bpf-direct += $(MFLAG)
>  HOSTLOADLIBES_bpf-fancy += $(MFLAG)
>  HOSTLOADLIBES_dropper += $(MFLAG)
>  endif
> +endif
>
>  # Tell kbuild to always build the programs
>  always := $(hostprogs-y)
> --
> 1.7.10.4
>



--
Kees Cook
Chrome OS Security



More information about the linux-arm-kernel mailing list