Messages in this thread | | | Date | Wed, 29 Jul 2015 18:31:02 +0200 | Subject | Re: samples/kdbus/kdbus-workers.c and cross compiling MIPS | From | David Herrmann <> |
| |
Hi
On Wed, Jul 29, 2015 at 6:19 PM, Paul Gortmaker <paul.gortmaker@windriver.com> 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
| |