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.

(From OE-Core rev: edcb57fe308979cc5b92359d064e32bb70d4ad76)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Matthew McClintock
2012-08-24 13:16:37 -05:00
committed by Richard Purdie
parent 4d8ea0216f
commit 1736b1d4cd
2 changed files with 19 additions and 1 deletions

View File

@@ -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

View File

@@ -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>