Re: samples/kdbus/kdbus-workers.c and cross compiling MIPS

From: David Herrmann
Date: Wed Jul 29 2015 - 12:31:10 EST


Hi

On Wed, Jul 29, 2015 at 6:19 PM, Paul Gortmaker
<paul.gortmaker@xxxxxxxxxxxxx> wrote:
> Hi David,
>
> Does it make sense to build this sample when cross compiling?
>
> The reason I ask is that it has been breaking the linux-next build of
> allmodconfig for a while now, with:
>
> HOSTCC samples/kdbus/kdbus-workers
> samples/kdbus/kdbus-workers.c: In function âprime_newâ:
> samples/kdbus/kdbus-workers.c:934:18: error: â__NR_memfd_createâ undeclared (first use in this function)
> p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC);
> ^
> samples/kdbus/kdbus-workers.c:934:18: note: each undeclared identifier is reported only once for each function it appears in
> scripts/Makefile.host:91: recipe for target 'samples/kdbus/kdbus-workers' failed
> make[2]: *** [samples/kdbus/kdbus-workers] Error 1

mips does have this syscall, so I assume the problem is out-of-date
kernel headers. You can fix this by running:

$ make headers_install

This will put the sanitized headers in your local kernel tree
"./usr/". This is preferred over "/usr" as include path for the kernel
examples, hence, everything should work fine then.

The kernel samples/ directory is explicitly used for example programs
for the kernel. Hence, I think it is quite fine to use new kernel
features. Same applies to the selftests.

I'd be fine making kdbus-workers a no-op program if __NR_memfd_create
is not defined. But I'm not really sure that fixes real problems. I
mean, new samples and selftests will be added by other subsystems and
those might as well require new kernel headers.

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/