Re: [PATCH v3 1/3] mips: Use arch specific auxvec.h instead of generic-asm version

From: Maciej W. Rozycki
Date: Mon Feb 08 2016 - 12:19:28 EST


On Mon, 8 Feb 2016, Daniel Wagner wrote:

> The generic auxvec.h is used instead the arch specific version.
> This happens when cross compiling the kernel.
>
> mips64-linux-gnu-gcc (GCC) 5.2.1 20151104 (Red Hat Cross 5.2.1-4)
>
> arch/mips/kernel/../../../fs/binfmt_elf.c: In function âcreate_elf_tablesâ:
> ./arch/mips/include/asm/elf.h:425:14: error: âAT_SYSINFO_EHDRâ undeclared (first use in this function)

There must be something wrong with your setup, or maybe a bug somewhere
in our build machinery you just happened to trigger. Most of us routinely
use a cross-compiler to build the kernel and you're the first one to
report the problem.

Can you report the compiler invocation that has lead to this error?
Have you used a default config or a custom one?

> diff --git a/arch/mips/include/asm/auxvec.h b/arch/mips/include/asm/auxvec.h
> new file mode 100644
> index 0000000..fbd388c
> --- /dev/null
> +++ b/arch/mips/include/asm/auxvec.h
> @@ -0,0 +1 @@
> +#include <uapi/asm/auxvec.h>

You're not supposed to require a header in asm/ merely to include a
header of the same name from uapi/asm/ as there are normally
-I./arch/mips/include and -I./arch/mips/include/uapi options present both
at once, in this order, on the compiler's invocation line. So:

#include <asm/auxvec.h>

will pull the header from uapi/asm/ if none is present in asm/.

Maciej