This module is obviously pretty old, because its
CONFIG.i386 file gives
gcc an option
-m486, which doesn't exist anymore, but changing to
-march=native seems to work OK.
#include <linux/config.h> #include <linux/module.h> #include <linux/version.h> #include <asm/uaccess.h>
On my system, only
linux/version.h exists. The following seems to work, however:
#include "/usr/include/valgrind/config.h" #include "/usr/include/sepol/module.h" #include <linux/version.h> #include </usr/src/linux-headers-4.2.0-35/include/linux/uaccess.h>
(YMMV, of course, if you don't have
That works, except for
/usr/src/linux-headers-4.2.0-35/include/linux/uaccess.h, the top of which has
Which is not found.
I don't seem to have an
asm folder in
/usr/include/linux. I do have an
/usr/include/asm_generic, but it doesn't have
My questions are:
Why do the modern kernel headers contain references to (apparently) nonexistent files, rather than providing them itself?
Where can I get a version of
asm/uaccess.hand the other headers needed for compilation?