From d3c1b02dd6e4d5a128477ea594eb2d0c03d66b08 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 1 Jul 2010 15:48:31 -0700 Subject: klibc_1.5.18: Fix the build for x86 on newer kernels. * We were setting KLIBCARCH to match kernel arch while this let klibc build, it did not configure in right syscalls because klibc still use 'i386' the patch tells klibc to look for right places in kernel tree based on arch and we can stop synthesizing KLIBCARCH to be same as kernel arch. Signed-off-by: Khem Raj --- recipes/klibc/klibc-1.5.18.inc | 34 +++++++++++++++++ .../klibc-1.5.18/klibc-x86-KLIBCARCHINCFLAGS.patch | 21 +++++++++++ recipes/klibc/klibc-1.5.inc | 19 ++++++++++ recipes/klibc/klibc-utils-static_1.5.18.bb | 4 +- recipes/klibc/klibc-utils-static_1.5.bb | 2 +- recipes/klibc/klibc_1.5.18.bb | 4 +- recipes/klibc/klibc_1.5.18.inc | 44 ---------------------- recipes/klibc/klibc_1.5.bb | 2 +- recipes/klibc/klibc_1.5.inc | 19 ---------- 9 files changed, 80 insertions(+), 69 deletions(-) create mode 100644 recipes/klibc/klibc-1.5.18.inc create mode 100644 recipes/klibc/klibc-1.5.18/klibc-x86-KLIBCARCHINCFLAGS.patch create mode 100644 recipes/klibc/klibc-1.5.inc delete mode 100644 recipes/klibc/klibc_1.5.18.inc delete mode 100644 recipes/klibc/klibc_1.5.inc diff --git a/recipes/klibc/klibc-1.5.18.inc b/recipes/klibc/klibc-1.5.18.inc new file mode 100644 index 0000000000..5084683f9d --- /dev/null +++ b/recipes/klibc/klibc-1.5.18.inc @@ -0,0 +1,34 @@ +require klibc-common.inc + +SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \ + file://modprobe.patch \ + file://dash_readopt.patch \ + file://wc.patch \ + file://staging.patch \ + file://klibc_kexecsyscall.patch \ + file://mntproc-definitions.patch \ + file://arm-signal-cleanup.patch \ + file://socket.h.patch \ + file://isystem.patch \ + file://klibc-x86-KLIBCARCHINCFLAGS.patch \ + " + +KLIBC_FETCHDIR = "1.5" + +EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ + 'CROSS_COMPILE=${TARGET_PREFIX}' \ + 'KLIBCKERNELSRC=${STAGING_KERNEL_DIR}' \ + " + +do_configure () { + ln -sf ${STAGING_KERNEL_DIR} linux +} + +SRC_URI[md5sum] = "5c8b6577b9acb3809cace6e118cdd55b" +SRC_URI[sha256sum] = "e4104f8b34a5f354222bd4622f50b58c6218bf70614450d68539cbef666b6446" + +do_install_append() { + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dmesg ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sync ${D}${base_bindir} + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ls ${D}${base_bindir} +} diff --git a/recipes/klibc/klibc-1.5.18/klibc-x86-KLIBCARCHINCFLAGS.patch b/recipes/klibc/klibc-1.5.18/klibc-x86-KLIBCARCHINCFLAGS.patch new file mode 100644 index 0000000000..65de61fa9e --- /dev/null +++ b/recipes/klibc/klibc-1.5.18/klibc-x86-KLIBCARCHINCFLAGS.patch @@ -0,0 +1,21 @@ +On newer kernels the arch dirs for x86 and x86_64 are merged into x86 +but klibc does not know that. This patch teaches it where to look at +for the include files when KLIBCARCH=i386. Its already fixed when +KLIBCARCH=x86_64 + +-Khem + +Index: klibc-1.5.18/usr/klibc/arch/i386/MCONFIG +=================================================================== +--- klibc-1.5.18.orig/usr/klibc/arch/i386/MCONFIG 2010-07-01 15:36:11.175170001 -0700 ++++ klibc-1.5.18/usr/klibc/arch/i386/MCONFIG 2010-07-01 15:36:57.875169996 -0700 +@@ -26,6 +26,9 @@ KLIBCARCHREQFLAGS += $(gcc_m32_option) + + KLIBCBITSIZE = 32 + ++# Asm includes for i3?6 are in the merged x86 tree ++KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include ++ + # Extra linkflags when building the shared version of the library + # This address needs to be reachable using normal inter-module + # calls, and work on the memory models for this architecture diff --git a/recipes/klibc/klibc-1.5.inc b/recipes/klibc/klibc-1.5.inc new file mode 100644 index 0000000000..b00f02cc56 --- /dev/null +++ b/recipes/klibc/klibc-1.5.inc @@ -0,0 +1,19 @@ +require klibc-common.inc + +SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \ + file://modprobe.patch \ + file://losetup.patch \ + file://dash_readopt.patch \ + file://wc.patch \ + file://staging.patch \ + file://klibc_kexecsyscall.patch \ + " + +KLIBC_FETCHDIR = "1.5" + +SRC_URI[md5sum] = "481dfdef7273f2cc776c2637f481f017" +SRC_URI[sha256sum] = "27000ba4bc73a5977502b27d7036df24dd6ab94a1c33b8f5d6d54ba62772f0c7" + +do_install_append() { + install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/insmod ${D}${base_bindir} +} diff --git a/recipes/klibc/klibc-utils-static_1.5.18.bb b/recipes/klibc/klibc-utils-static_1.5.18.bb index b3599163a0..a244b75b91 100644 --- a/recipes/klibc/klibc-utils-static_1.5.18.bb +++ b/recipes/klibc/klibc-utils-static_1.5.18.bb @@ -1,3 +1,3 @@ require klibc-utils-static.inc -require klibc_${PV}.inc -PR = "${INC_PR}.0" +require klibc-${PV}.inc +PR = "${INC_PR}.1" diff --git a/recipes/klibc/klibc-utils-static_1.5.bb b/recipes/klibc/klibc-utils-static_1.5.bb index b3599163a0..4d1dd4171f 100644 --- a/recipes/klibc/klibc-utils-static_1.5.bb +++ b/recipes/klibc/klibc-utils-static_1.5.bb @@ -1,3 +1,3 @@ require klibc-utils-static.inc -require klibc_${PV}.inc +require klibc-${PV}.inc PR = "${INC_PR}.0" diff --git a/recipes/klibc/klibc_1.5.18.bb b/recipes/klibc/klibc_1.5.18.bb index 694bf5849b..cf69b4398c 100644 --- a/recipes/klibc/klibc_1.5.18.bb +++ b/recipes/klibc/klibc_1.5.18.bb @@ -1,3 +1,3 @@ require klibc.inc -require klibc_${PV}.inc -PR = "${INC_PR}.1" +require klibc-${PV}.inc +PR = "${INC_PR}.2" diff --git a/recipes/klibc/klibc_1.5.18.inc b/recipes/klibc/klibc_1.5.18.inc deleted file mode 100644 index 2175643a92..0000000000 --- a/recipes/klibc/klibc_1.5.18.inc +++ /dev/null @@ -1,44 +0,0 @@ -require klibc-common.inc - -SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \ - file://modprobe.patch \ - file://dash_readopt.patch \ - file://wc.patch \ - file://staging.patch \ - file://klibc_kexecsyscall.patch \ - file://mntproc-definitions.patch \ - file://arm-signal-cleanup.patch \ - file://socket.h.patch \ - file://isystem.patch \ - " - -KLIBC_FETCHDIR = "1.5" - -KLIBC_ARCH_x86 = 'x86' -KLIBC_ARCH_i486 = 'x86' -KLIBC_ARCH_i586 = 'x86' -KLIBC_ARCH_i686 = 'x86' -KLIBC_ARCH_pentium = 'x86' - -EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \ - 'CROSS_COMPILE=${TARGET_PREFIX}' \ - 'KLIBCKERNELSRC=${STAGING_KERNEL_DIR}' \ - " - -do_configure () { - ln -sf ${STAGING_KERNEL_DIR} linux - cd ${S}/usr/klibc/arch/ - ln -s i386 x86 - cd ${S}/usr/include/arch/ - ln -s i386 x86 - cd ${S} -} - -SRC_URI[md5sum] = "5c8b6577b9acb3809cace6e118cdd55b" -SRC_URI[sha256sum] = "e4104f8b34a5f354222bd4622f50b58c6218bf70614450d68539cbef666b6446" - -do_install_append() { - install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/dmesg ${D}${base_bindir} - install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/sync ${D}${base_bindir} - install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/ls ${D}${base_bindir} -} diff --git a/recipes/klibc/klibc_1.5.bb b/recipes/klibc/klibc_1.5.bb index 4b299f226e..71718cfe65 100644 --- a/recipes/klibc/klibc_1.5.bb +++ b/recipes/klibc/klibc_1.5.bb @@ -1,3 +1,3 @@ require klibc.inc -require klibc_${PV}.inc +require klibc-${PV}.inc PR = "${INC_PR}.0" diff --git a/recipes/klibc/klibc_1.5.inc b/recipes/klibc/klibc_1.5.inc deleted file mode 100644 index b00f02cc56..0000000000 --- a/recipes/klibc/klibc_1.5.inc +++ /dev/null @@ -1,19 +0,0 @@ -require klibc-common.inc - -SRC_URI += "file://fstype-sane-vfat-and-jffs2-for-1.5.patch \ - file://modprobe.patch \ - file://losetup.patch \ - file://dash_readopt.patch \ - file://wc.patch \ - file://staging.patch \ - file://klibc_kexecsyscall.patch \ - " - -KLIBC_FETCHDIR = "1.5" - -SRC_URI[md5sum] = "481dfdef7273f2cc776c2637f481f017" -SRC_URI[sha256sum] = "27000ba4bc73a5977502b27d7036df24dd6ab94a1c33b8f5d6d54ba62772f0c7" - -do_install_append() { - install -m 755 usr/utils/${KLIBC_UTILS_VARIANT}/insmod ${D}${base_bindir} -} -- cgit v1.2.3