All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc
@ 2013-12-10 15:16 Bruce Ashfield
  2013-12-10 15:16 ` [PATCH 1/1] linux-libc-headers: fix MIPS klibc build error Bruce Ashfield
  2013-12-10 15:19 ` [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield
  0 siblings, 2 replies; 3+ messages in thread
From: Bruce Ashfield @ 2013-12-10 15:16 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

Richard/Saul,

Here are a couple of changes that I've been testing locally for a week now,
with nothing (obvious) breaking.

The linux-yocto-dev kernel change is to allow integration into master under
test, so our dev kernels can be exercised directly before they become the
kernel for a release. With this change, a layer can now create an optional
include file, set a couple of variables and have a set of static REVs used
rather than the default of AUTOREV. 

The linux-libc-headers change fixes a klibc mips build failure issue found
by Andrea Adami. This is fixed in the latest kernels, so we'll backport
the change to the 3.10 based headers and drop it when I next uprev the
kernel and headers.

Cheers,

Bruce

cc: Andrea Adami <andrea.adami@gmail.com>


The following changes since commit fc1bbe3654a3d456dfeb904f4c9752a03e3c48d6:

  linux-yocto-dev: allow static SRCREVs via include (2013-12-10 10:06:09 -0500)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib zedd/kernel
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Bruce Ashfield (1):
  linux-libc-headers: fix MIPS klibc build error

 ...lude-asm-byteorder.h-in-linux-raid-md_p.h.patch | 34 ++++++++++++++++++++++
 .../linux-libc-headers/linux-libc-headers_3.10.bb  |  3 ++
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch

-- 
1.8.1.2



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] linux-libc-headers: fix MIPS klibc build error
  2013-12-10 15:16 [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield
@ 2013-12-10 15:16 ` Bruce Ashfield
  2013-12-10 15:19 ` [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield
  1 sibling, 0 replies; 3+ messages in thread
From: Bruce Ashfield @ 2013-12-10 15:16 UTC (permalink / raw)
  To: richard.purdie; +Cc: openembedded-core

As reported by Andrea Adami, klibc fails to build for MIPS with the 3.10 libc-headers

commit ca044f9a [UAPI: fix endianness conditionals in linux/raid/md_p.h] is the root
cause of the breakage.

This is fixed in the kernel source itself, but we must also carry the
change in the linux-libc-headers recipe, until we update past the
3.13 kernel.

With this change, we can again build klibc for mips, with no impact
on the rest of the system.

cc: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 ...lude-asm-byteorder.h-in-linux-raid-md_p.h.patch | 34 ++++++++++++++++++++++
 .../linux-libc-headers/linux-libc-headers_3.10.bb  |  3 ++
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch

diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch
new file mode 100644
index 000000000000..1bf0e7ec85f0
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch
@@ -0,0 +1,34 @@
+From c0f8bd146a8b3e630798561c605f5669823107af Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Thu, 14 Nov 2013 15:16:19 +1100
+Subject: [PATCH] UAPI: include <asm/byteorder.h> in linux/raid/md_p.h
+
+linux/raid/md_p.h is using conditionals depending on endianess and fails
+with an error if neither of __BIG_ENDIAN, __LITTLE_ENDIAN or
+__BYTE_ORDER are defined, but it doesn't include any header which can
+define these constants. This make this header unusable alone.
+
+This patch adds a #include <asm/byteorder.h> at the beginning of this
+header to make it usable alone. This is needed to compile klibc on MIPS.
+
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+Signed-off-by: NeilBrown <neilb@suse.de>
+---
+ include/uapi/linux/raid/md_p.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/uapi/linux/raid/md_p.h b/include/uapi/linux/raid/md_p.h
+index fe1a540..f7cf7f3 100644
+--- a/include/uapi/linux/raid/md_p.h
++++ b/include/uapi/linux/raid/md_p.h
+@@ -16,6 +16,7 @@
+ #define _MD_P_H
+ 
+ #include <linux/types.h>
++#include <asm/byteorder.h>
+ 
+ /*
+  * RAID superblock.
+-- 
+1.8.1.2
+
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
index 65df230c4b0c..a78d4ba59a62 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb
@@ -3,6 +3,9 @@ require linux-libc-headers.inc
 SRC_URI += "file://0001-ptrace.h-remove-ptrace_peeksiginfo_args.patch"
 SRC_URI += "file://scripts-Makefile.headersinst-install-headers-from-sc.patch"
 
+# fixes klibc build for MIPS, drop when libc-headers > 3.13
+SRC_URI += "file://UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch"
+
 SRC_URI[md5sum] = "72d0a9b3e60cd86fabcd3f24b1708944"
 SRC_URI[sha256sum] = "46c9e55e1fddf40813b8d697d5645037a8e2af5c1a8dff52b3fe82b5021582b8"
 
-- 
1.8.1.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc
  2013-12-10 15:16 [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield
  2013-12-10 15:16 ` [PATCH 1/1] linux-libc-headers: fix MIPS klibc build error Bruce Ashfield
@ 2013-12-10 15:19 ` Bruce Ashfield
  1 sibling, 0 replies; 3+ messages in thread
From: Bruce Ashfield @ 2013-12-10 15:19 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2204 bytes --]

On Tue, Dec 10, 2013 at 10:16 AM, Bruce Ashfield
<bruce.ashfield@windriver.com> wrote:
> Richard/Saul,
>
> Here are a couple of changes that I've been testing locally for a week now,
> with nothing (obvious) breaking.
>
> The linux-yocto-dev kernel change is to allow integration into master under
> test, so our dev kernels can be exercised directly before they become the
> kernel for a release. With this change, a layer can now create an optional
> include file, set a couple of variables and have a set of static REVs used
> rather than the default of AUTOREV.

I then proceeded to NOT include this patch in my rr directory, so it didn't
get sent.

I've attached it here and it is on the branch I referenced, but let me know
if you'd rather I do a complete resend.

Cheers,

Bruce

>
> The linux-libc-headers change fixes a klibc mips build failure issue found
> by Andrea Adami. This is fixed in the latest kernels, so we'll backport
> the change to the 3.10 based headers and drop it when I next uprev the
> kernel and headers.
>
> Cheers,
>
> Bruce
>
> cc: Andrea Adami <andrea.adami@gmail.com>
>
>
> The following changes since commit fc1bbe3654a3d456dfeb904f4c9752a03e3c48d6:
>
>   linux-yocto-dev: allow static SRCREVs via include (2013-12-10 10:06:09 -0500)
>
> are available in the git repository at:
>
>   git://git.pokylinux.org/poky-contrib zedd/kernel
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel
>
> Bruce Ashfield (1):
>   linux-libc-headers: fix MIPS klibc build error
>
>  ...lude-asm-byteorder.h-in-linux-raid-md_p.h.patch | 34 ++++++++++++++++++++++
>  .../linux-libc-headers/linux-libc-headers_3.10.bb  |  3 ++
>  2 files changed, 37 insertions(+)
>  create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/UAPI-include-asm-byteorder.h-in-linux-raid-md_p.h.patch
>
> --
> 1.8.1.2
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"

[-- Attachment #2: 0001-linux-yocto-dev-allow-static-SRCREVs-via-include.patch --]
[-- Type: text/x-patch, Size: 3375 bytes --]

From fc1bbe3654a3d456dfeb904f4c9752a03e3c48d6 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@windriver.com>
Date: Thu, 5 Dec 2013 14:31:55 -0500
Subject: [PATCH] linux-yocto-dev: allow static SRCREVs via include

The linux-yocto dev recipe is intended to track the latest revisions of the
kernel tree by default. To control revision churn, and integrate into a
regular build schedule having the ability to specify a set of SRCREVs without
modifying the recipe itself is desired.

So we introduce an optional include file, and variables that control whether
or not the static SRCREVs are used: USE_MACHINE_AUTOREV and USE_META_AUTOREV,
to add this flexibility.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 meta/recipes-kernel/linux/linux-yocto-dev.bb | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index e7b8d8b2a7a1..e8d14b966d84 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -11,6 +11,12 @@
 inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
+USE_MACHINE_AUTOREV ?= "1"
+USE_META_AUTOREV ?= "1"
+
+# provide this .inc to set specific revisions
+include recipes-kernel/linux/linux-yocto-dev-revisions.inc
+
 KBRANCH = "standard/base"
 KBRANCH_DEFAULT = "${KBRANCH}"
 KMETA = "meta"
@@ -22,15 +28,19 @@ SRC_URI = "git://git.pokylinux.org/linux-yocto-dev.git;nocheckout=1;branch=${KBR
 # linux-yocto-dev is the preferred provider, they will be overridden to
 # AUTOREV in following anonymous python routine and resolved when the
 # variables are finalized.
-SRCREV_machine="29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
-SRCREV_meta="29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
+SRCREV_machine ?= "29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
+SRCREV_meta ?= "29594404d7fe73cd80eaa4ee8c43dcc53970c60e"
 
 python () {
     if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-dev":
         raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-dev to enable it")
     else:
-        d.setVar("SRCREV_machine", "${AUTOREV}")
-        d.setVar("SRCREV_meta", "${AUTOREV}")
+        # if the revisions have been changed from the defaults above we leave them
+        # alone. But if the defaults are left, we change to AUTOREV.
+        if d.getVar("USE_MACHINE_AUTOREV", True) == "1":
+            d.setVar("SRCREV_machine", "${AUTOREV}")
+        if d.getVar("USE_META_AUTOREV", True) == "1":
+            d.setVar("SRCREV_meta", "${AUTOREV}")
 }
 
 LINUX_VERSION ?= "3.10+"
@@ -40,8 +50,9 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
 COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
 
 # Functionality flags
-KERNEL_FEATURES_append = " features/netfilter/netfilter.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/sound.scc"
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc"
-KERNEL_FEATURES_append_qemux86=" cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
+
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-10 15:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-10 15:16 [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield
2013-12-10 15:16 ` [PATCH 1/1] linux-libc-headers: fix MIPS klibc build error Bruce Ashfield
2013-12-10 15:19 ` [PATCH 0/1] linux-yocto: static -dev SRCREVs and -headers for klibc Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.