[oe-commits] Stanislav Brabec : linux-libc-headers: Added headers for version 2.6.30.

git version control git at git.openembedded.org
Wed Aug 26 19:38:00 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 8ba4ce90740eb50ac0b1a394280ff94e388bda6a
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=8ba4ce90740eb50ac0b1a394280ff94e388bda6a

Author: Stanislav Brabec <utx at penguin.cz>
Date:   Wed Aug 26 19:37:12 2009 +0000

linux-libc-headers: Added headers for version 2.6.30.

---

 .../linux-libc-headers-2.6.30/asm-page.patch       |   55 ++++++++++++++++++++
 .../linux-libc-headers-2.6.30/uio-header.patch     |   41 +++++++++++++++
 .../linux-libc-headers_2.6.30.bb                   |   52 ++++++++++++++++++
 3 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/recipes/linux-libc-headers/linux-libc-headers-2.6.30/asm-page.patch b/recipes/linux-libc-headers/linux-libc-headers-2.6.30/asm-page.patch
new file mode 100644
index 0000000..268b3eb
--- /dev/null
+++ b/recipes/linux-libc-headers/linux-libc-headers-2.6.30/asm-page.patch
@@ -0,0 +1,55 @@
+This patch makes asm/page.h available with PAGE_SIZE available to
+the user space again, as it was in old header sets.
+It's better to not use it and fix recipes instead:
+- Use getpagesize(), -D_BSD_SOURCE or -D_XOPEN_SOURCE=500 and
+  #include <unistd.h>
+- in glibc >= 2.10 you can use PAGE_SIZE and #include <sys/user.h>.
+
+Index: linux-2.6.30/arch/arm/include/asm/page.h
+===================================================================
+--- linux-2.6.30.orig/arch/arm/include/asm/page.h
++++ linux-2.6.30/arch/arm/include/asm/page.h
+@@ -15,11 +15,12 @@
+ #define PAGE_SIZE		(1UL << PAGE_SHIFT)
+ #define PAGE_MASK		(~(PAGE_SIZE-1))
+ 
++#ifdef __KERNEL__
+ #ifndef __ASSEMBLY__
+ 
+ #ifndef CONFIG_MMU
+ 
+-#include "page-nommu.h"
++#include <asm/page-nommu.h>
+ 
+ #else
+ 
+@@ -204,4 +205,5 @@ typedef struct page *pgtable_t;
+ 
+ #include <asm-generic/page.h>
+ 
++#endif /* __KERNEL__ */
+ #endif
+Index: linux-2.6.30/include/asm-generic/Kbuild.asm
+===================================================================
+--- linux-2.6.30.orig/include/asm-generic/Kbuild.asm
++++ linux-2.6.30/include/asm-generic/Kbuild.asm
+@@ -16,6 +16,7 @@ unifdef-y += ioctls.h
+ unifdef-y += ipcbuf.h
+ unifdef-y += mman.h
+ unifdef-y += msgbuf.h
++unifdef-y += page.h
+ unifdef-y += param.h
+ unifdef-y += poll.h
+ unifdef-y += posix_types.h
+Index: linux-2.6.30/include/asm-generic/Kbuild
+===================================================================
+--- linux-2.6.30.orig/include/asm-generic/Kbuild
++++ linux-2.6.30/include/asm-generic/Kbuild
+@@ -3,6 +3,7 @@ header-y += errno.h
+ header-y += fcntl.h
+ header-y += ioctl.h
+ header-y += mman.h
++header-y += page.h
+ header-y += poll.h
+ header-y += signal.h
+ header-y += statfs.h
diff --git a/recipes/linux-libc-headers/linux-libc-headers-2.6.30/uio-header.patch b/recipes/linux-libc-headers/linux-libc-headers-2.6.30/uio-header.patch
new file mode 100644
index 0000000..50ca855
--- /dev/null
+++ b/recipes/linux-libc-headers/linux-libc-headers-2.6.30/uio-header.patch
@@ -0,0 +1,41 @@
+diff --git a/include/linux/uio.h b/include/linux/uio.h
+index b7fe138..98c1143 100644
+--- a/include/linux/uio.h
++++ b/include/linux/uio.h
+@@ -19,15 +19,6 @@ struct iovec
+ 	__kernel_size_t iov_len; /* Must be size_t (1003.1g) */
+ };
+ 
+-#ifdef __KERNEL__
+-
+-struct kvec {
+-	void *iov_base; /* and that should *never* hold a userland pointer */
+-	size_t iov_len;
+-};
+-
+-#endif
+-
+ /*
+  *	UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1)
+  */
+@@ -35,6 +26,13 @@ struct kvec {
+ #define UIO_FASTIOV	8
+ #define UIO_MAXIOV	1024
+ 
++#ifdef __KERNEL__
++
++struct kvec {
++	void *iov_base; /* and that should *never* hold a userland pointer */
++	size_t iov_len;
++};
++
+ /*
+  * Total number of bytes covered by an iovec.
+  *
+@@ -53,5 +51,6 @@ static inline size_t iov_length(const struct iovec *iov, unsigned long nr_segs)
+ }
+ 
+ unsigned long iov_shorten(struct iovec *iov, unsigned long nr_segs, size_t to);
++#endif
+ 
+ #endif
diff --git a/recipes/linux-libc-headers/linux-libc-headers_2.6.30.bb b/recipes/linux-libc-headers/linux-libc-headers_2.6.30.bb
new file mode 100644
index 0000000..5fa6670
--- /dev/null
+++ b/recipes/linux-libc-headers/linux-libc-headers_2.6.30.bb
@@ -0,0 +1,52 @@
+require linux-libc-headers.inc
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native"
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+	   file://uio-header.patch;patch=1 \
+	  "
+# Not applied, see note in the patch:
+#	   file://asm-page.patch;patch=1 \
+
+S = "${WORKDIR}/linux-${PV}"
+
+set_arch() {
+	case ${TARGET_ARCH} in
+		alpha*)   ARCH=alpha ;;
+		arm*)     ARCH=arm ;;
+		cris*)    ARCH=cris ;;
+		hppa*)    ARCH=parisc ;;
+		i*86*)    ARCH=i386 ;;
+		ia64*)    ARCH=ia64 ;;
+		mips*)    ARCH=mips ;;
+		m68k*)    ARCH=m68k ;;
+		powerpc*) ARCH=powerpc ;;
+		s390*)    ARCH=s390 ;;
+		sh*)      ARCH=sh ;;
+		sparc64*) ARCH=sparc64 ;;
+		sparc*)   ARCH=sparc ;;
+		x86_64*)  ARCH=x86_64 ;;
+	        avr32*)   ARCH=avr32 ;;
+                bfin*)    ARCH=blackfin ;;
+	esac
+}
+
+do_configure() {
+	set_arch
+	oe_runmake allnoconfig ARCH=$ARCH
+}
+
+do_compile () {
+}
+
+do_install() {
+	set_arch
+	oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
+}
+
+do_stage () {
+	set_arch
+	oe_runmake headers_install INSTALL_HDR_PATH=${STAGING_DIR_HOST}${layout_prefix} ARCH=$ARCH
+}





More information about the Openembedded-commits mailing list