aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/kmod
diff options
context:
space:
mode:
authorMatthew McClintock <msm@freescale.com>2012-08-24 13:16:37 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-25 14:44:00 +0100
commitedcb57fe308979cc5b92359d064e32bb70d4ad76 (patch)
tree4420e732f6efe8d7a1c4017320696a65ab8e3016 /meta/recipes-kernel/kmod
parenta8b1081791af60873c6fd26cbf298cfe1886f97d (diff)
downloadopenembedded-core-contrib-edcb57fe308979cc5b92359d064e32bb70d4ad76.tar.gz
kmod-native_git.bb: fix builds for hosts with older libc
kmod will fail to build with the following error because O_CLOEXEC is not defined: | libkmod/libkmod-module.c: In function 'kmod_module_get_initstate': | libkmod/libkmod-module.c:1640: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c:1640: error: (Each undeclared identifier is reported only once | libkmod/libkmod-module.c:1640: error: for each function it appears in.) | libkmod/libkmod-module.c: In function 'kmod_module_get_refcnt': | libkmod/libkmod-module.c:1754: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-module.c: In function 'kmod_module_get_sections': | libkmod/libkmod-module.c:1913: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c: In function 'kmod_file_open': | libkmod/libkmod-file.c:282: error: 'O_CLOEXEC' undeclared (first use in this function) | libkmod/libkmod-file.c:282: error: (Each undeclared identifier is reported only once | libkmod/libkmod-file.c:282: error: for each function it appears in.) Since we are only using kmod-native for depmod, and it's a non-threaded user of this libary being built this should be safe to override O_CLOEXEC. Keep in mind this is ONLY effecting the native builds and not what is being shipped in the root file system. Signed-off-by: Matthew McClintock <msm@freescale.com>
Diffstat (limited to 'meta/recipes-kernel/kmod')
-rw-r--r--meta/recipes-kernel/kmod/kmod-native_git.bb3
-rw-r--r--meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch17
2 files changed, 19 insertions, 1 deletions
diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb
index 96de8b8ef4..8cbcdf8ad7 100644
--- a/meta/recipes-kernel/kmod/kmod-native_git.bb
+++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
@@ -4,7 +4,8 @@
require kmod.inc
inherit native
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+SRC_URI += "file://fix-undefined-O_CLOEXEC.patch"
do_install_append (){
for tool in depmod insmod lsmod modinfo modprobe rmmod
diff --git a/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch b/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch
new file mode 100644
index 0000000000..3177e9a1a9
--- /dev/null
+++ b/meta/recipes-kernel/kmod/kmod/fix-undefined-O_CLOEXEC.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Not applicable
+
+Index: git/libkmod/libkmod-private.h
+===================================================================
+--- git.orig/libkmod/libkmod-private.h
++++ git/libkmod/libkmod-private.h
+@@ -1,6 +1,10 @@
+ #ifndef _LIBKMOD_PRIVATE_H_
+ #define _LIBKMOD_PRIVATE_H_
+
++#ifndef O_CLOEXEC
++# define O_CLOEXEC 0
++#endif
++
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <syslog.h>