Skip to contentSkip to conversation

linux-yocto/kern-tools: consolidated pull request

PATCH Applied Bruce Ashfield 2 participants 8 messages Sep 4, 2012

lore
Share & tools
lore
#0 lore raw

cover linux-yocto/kern-tools: consolidated pull request

Saul/Richard,

This is largely the same pull request that I sent a week ago, and I've had things fixed for a bit, but I didn't want to send it again during my travel .. and then a long weekend.

So here's the request again.

It is a content update to 3.4.9 + some tool tweaking for problems found by Khem, Matthew Foster and Tom Zanussi. With the tools fixes, we have all known use cases back up and working.

The content update has been tested for 2 weeks now and is safe, we do know that the -rt kernel has some issues at the moment, and once this pull request is sent, I'll do a refresh on -rt and get that problem fixed.

Cheers,

Bruce

The following changes since commit bb86a22ba6f90902644c11f984ae4c171ba36624:

yocto-docs/.gitignore: Final fix to ignore mega-manual. (2012-09-04 12:55:03 +0100)

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 (6):
kern-tools: fix forced branching
linux-yocto: fix unapplied patch error message
linux-yocto: check for bad SRCREV before branch checks
kern-tools: fix non-inheriting branch names linux-yocto/3.4: v3.4.9, unionfs, perf and configuration changes linux-yocto/3.2/3.4: arm: Fix linking errors with binutils 2.23

 meta/classes/kernel-yocto.bbclass                  |   18 ++++++++++--------
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb    |    4 ++--
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb    |    8 ++++----
 meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb  |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.2.bb       |   12 ++++++------
 meta/recipes-kernel/linux/linux-yocto_3.4.bb       |   16 ++++++++--------
 7 files changed, 32 insertions(+), 30 deletions(-)
Signature · 1 line
1.7.5.4
#1 lore raw

PATCH 1/6 kern-tools: fix forced branching

commit 7a79f7412 [linux-yocto: make KBRANCH the exception and not the rule] ensures that a request branch is always built. The implementation of this guarantee is a branch switch before the build starts. But that switch may be before all patches are applied. If the proper routines are not called, no patches can be applied to the tree.

Updating the SRCREV to pickup this fix:

updateme: use branch command when forcing branch switches

When forcing a branch switch to the desired branch we should be using the proper 'branch' command. Since without this call, the proper variables will not be set, and patches can't be applied to the tree.

---
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1 -1
index 0ff8b19..e1fc0a3 100644
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70c
 
 DEPENDS = "git-native guilt-native"
 
-SRCREV = "7d936da57db11f1114f3860e4fcc15221e796275"
+SRCREV = "c82d67d0cf17bc3b499f19667690c56bd00d3ddc"
 PR = "r12"
 PV = "0.1+git${SRCPV}"
 
Signature · 1 line
1.7.5.4
#2 lore raw

PATCH 2/6 linux-yocto: fix unapplied patch error message

In reply to Bruce Ashfield

When patches fail to apply, the status of all pending patches should be exported to the logs and to the user. Currently, a missing export of GUILT_BASE makes it look more like an internal error, than a 'normal' patch failure:

    | [ERROR] unable to complete push
    | pending patches are:
    | Patches directory doesn't exist, try guilt-init

With this variable exported, we have this:

  | [INFO] validating against known patches  (qemux86-standard-meta)
  | error: patch failed: Makefile:2
  | error: Makefile: patch does not apply
  | To force apply this patch, use 'guilt push -f'
  | [ERROR] unable to complete push
  | pending patches are:
  | links/files/0002-makefile-patch.patch
---
 meta/classes/kernel-yocto.bbclass                  |    3 ++-
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
meta/classes/kernel-yocto.bbclass +2 -1
index 3dcc8b5..45918d6 100644
@@ -97,7 +97,8 @@ do_patch() {
 	# executes and modifies the source tree as required
 	patchme ${KMACHINE}
 	if [ $? -ne 0 ]; then
-		echo "ERROR. Could not apply updates for ${KMACHINE}"
+		echo "ERROR. Could not apply patches for ${KMACHINE}."
+		echo "       Patch failures can be resolved in the devshell (bitbake -c devshell ${PN})"
 		exit 1
 	fi
 
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1 -1
index e1fc0a3..b560059 100644
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70c
 
 DEPENDS = "git-native guilt-native"
 
-SRCREV = "c82d67d0cf17bc3b499f19667690c56bd00d3ddc"
+SRCREV = "6e92eca3bd30d73222dfeaae6d2d1d9764a5a3f8"
 PR = "r12"
 PV = "0.1+git${SRCPV}"
 
Signature · 1 line
1.7.5.4
#3 lore raw

PATCH 3/6 linux-yocto: check for bad SRCREV before branch checks

In reply to Bruce Ashfield

do_validate_branches ensures that the desired SRCREV is at the tip of every branch that contains the revision. To do this, it looks for containing branches and processes them.

This processing was mistakenly placed before the check for an invalid SRCREV, hence a git error message is seen in the log if a bad SRCREV is used, rather than a clear message.

reordering the checks, and fixing a check for master, ensures that clear messages are generated in all cases.

---
 meta/classes/kernel-yocto.bbclass |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)
meta/classes/kernel-yocto.bbclass +8 -7
index 45918d6..724e5cd 100644
@@ -258,12 +258,6 @@ do_validate_branches() {
 		return
 	fi
 
-	containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
-	if [ -z "$containing_branches" ]; then
-		echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
-		echo "       contain this commit"
-		exit 1
-	fi
 	ref=`git show ${target_branch_head} 2>&1 | head -n1 || true`
 	if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
 	    echo "ERROR ${target_branch_head} is not a valid commit ID."
@@ -271,6 +265,13 @@ do_validate_branches() {
 	    exit 1
 	fi
 
+	containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
+	if [ -z "$containing_branches" ]; then
+		echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
+		echo "       contain this commit"
+		exit 1
+	fi
+
 	# force the SRCREV in each branch that contains the specified
 	# SRCREV (if it isn't the current HEAD of that branch)
 	git checkout -q master
@@ -278,7 +279,7 @@ do_validate_branches() {
 		branch_head=`git show-ref -s --heads ${b}`		
 		if [ "$branch_head" != "$target_branch_head" ]; then
 			echo "[INFO] Setting branch $b to ${target_branch_head}"
-			if [ "$b" == "master" ]; then
+			if [ "$b" = "master" ]; then
 				git reset --hard $target_branch_head > /dev/null
 			else
 				git branch -D $b > /dev/null
Signature · 1 line
1.7.5.4
#4 lore raw

PATCH 4/6 kern-tools: fix non-inheriting branch names

In reply to Bruce Ashfield

Importing the following tools SRCREV:

kgit-meta: exclude explicit branches from name calculations

kernel branches are constructed during patching of the tree by constructing a '/' based hierarchy of names as each branch directive is encountered.

But if a "branch $name $branchpoint" is used, the entire branch name is supplied so no additions to the hierarchy should happen. As such, that type of branch command should not be part of branch name calculation and preparation.

---
 .../kern-tools/kern-tools-native_git.bb            |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1 -1
index b560059..e8926ee 100644
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70c
 
 DEPENDS = "git-native guilt-native"
 
-SRCREV = "6e92eca3bd30d73222dfeaae6d2d1d9764a5a3f8"
+SRCREV = "0c7b625280eb9ff62d40b53308e7238ddd164f38"
 PR = "r12"
 PV = "0.1+git${SRCPV}"
 
Signature · 1 line
1.7.5.4
#5 lore raw

PATCH 5/6 linux-yocto/3.4: v3.4.9, unionfs, perf and configuration changes

In reply to Bruce Ashfield

Updating the SRCREVs for the following updates:

- v3.4.8, v3.4.9

- bug fixes:
a4c7a04 perf: add SLANG_INC for slang.h
e32ab98 unionfs: restore FD_* utility defines 9f0fe58 unionfs: update unionfs fork to align with mainline b3fcc2f codel: refine one condition to avoid a nul rec_inv_sqrt ef7cf65 fq_codel: should use qdisc backlog as threshold 3f0ed1d net: codel: fix build errors
4c06aa1 net/codel: Add missing #include <linux/prefetch.h> 2888bf2 codel: use u16 field instead of 31bits for rec_inv_sqrt 6edeb2e codel: use Newton method instead of sqrt() and divides 2faecd6 fq_codel: Fair Queue Codel AQM
edca95f netem: add ECN capability

- config/BSP updates:

463299b meta: bump kver to v3.4.9
6b961c8 CrystalForest: Enable PCI IOV feature 4bc2238 meta: Add new pci iov feature
70346e6 mpc8315: remove now obsolete CONFIG_MISC_DEVICES

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb |    8 ++++----
 meta/recipes-kernel/linux/linux-yocto_3.4.bb    |   16 ++++++++--------
 2 files changed, 12 insertions(+), 12 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +4 -4
index 1c4d2fd..322ee5c 100644
@@ -3,14 +3,14 @@ require recipes-kernel/linux/linux-yocto.inc
 KBRANCH = "standard/preempt-rt/base"
 KBRANCH_qemuppc = "standard/preempt-rt/qemuppc"
 
-LINUX_VERSION ?= "3.4.7"
+LINUX_VERSION ?= "3.4.9"
 LINUX_KERNEL_TYPE = "preempt-rt"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "7c172e3f3d3109b23a1107f512f9463d3108f5b2"
-SRCREV_machine_qemuppc ?= "ee88dfc005ec2cdbfe5fda3c27e5f8a175991948"
-SRCREV_meta ?= "28bcd46af1d592dab39bd8a0891c872454fde8bc"
+SRCREV_machine ?= "e8b22d297b61fb6f107f769042d47235c571da74"
+SRCREV_machine_qemuppc ?= "9cdefb26d9a263430f98d642aff6551ae925fce8"
+SRCREV_meta ?= "463299bc2e533e1bd38b0053ae7b210980f269c3"
 
 PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +8 -8
index 440deef..edb87da 100644
@@ -3,17 +3,17 @@ require recipes-kernel/linux/linux-yocto.inc
 KBRANCH_DEFAULT = "standard/base"
 KBRANCH = "${KBRANCH_DEFAULT}"
 
-SRCREV_machine_qemuarm ?= "6db2c606429fa8671e76eb312cdd92f9451cf8e8"
-SRCREV_machine_qemumips  ?= "a9f79fc1bde4f5adb7cb015d2f2b5a04bd5597a1"
-SRCREV_machine_qemuppc ?= "492560e2f9a6864c5b4bbb24a35631c182fa35a5"
-SRCREV_machine_qemux86 ?= "c77666c1d4c4be4be4b2046c3ff25bf1db34eb21"
-SRCREV_machine_qemux86-64 ?= "c77666c1d4c4be4be4b2046c3ff25bf1db34eb21"
-SRCREV_machine ?= "c77666c1d4c4be4be4b2046c3ff25bf1db34eb21"
-SRCREV_meta ?= "28bcd46af1d592dab39bd8a0891c872454fde8bc"
+SRCREV_machine_qemuarm ?= "67376c621baf82ce51657246896647ababf5aa7c"
+SRCREV_machine_qemumips  ?= "7a8c1836ce33d49ff68e549e9415538a7419e3dc"
+SRCREV_machine_qemuppc ?= "5a3c4cf87fd94add818880a158e8e5a9e07303c9"
+SRCREV_machine_qemux86 ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
+SRCREV_machine_qemux86-64 ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
+SRCREV_machine ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
+SRCREV_meta ?= "463299bc2e533e1bd38b0053ae7b210980f269c3"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
 
-LINUX_VERSION ?= "3.4.7"
+LINUX_VERSION ?= "3.4.9"
 
 PR = "${INC_PR}.1"
 PV = "${LINUX_VERSION}+git${SRCPV}"
Signature · 1 line
1.7.5.4
#6 lore raw

PATCH 6/6 linux-yocto/3.2/3.4: arm: Fix linking errors with binutils 2.23

In reply to Bruce Ashfield

Updating the 3.2/3.4 linux-yocto SRCREVs to pickup the following fix:

arm: Fix linking errors with binutils 2.23

We end up with linking errors on arm using latest binutils because we are linking asm generated objects which use -march=all generating different attributes into object and use some c objects e.g. misc.o which use different march therefore generating a different set of attributes into object. When linking is done the ld complains since it finds incompatible attributes and ends up with errors like

error: DIV usage mismatch between arch/arm/boot/compressed/head.o and output
error: DIV usage mismatch between arch/arm/boot/compressed/misc.o and output
error: DIV usage mismatch between arch/arm/boot/compressed/decompress.o and output
error: DIV usage mismatch between arch/arm/boot/compressed/lib1funcs.o and output

This patch fixes it by providing correct march to assembly routines which than matches with output of ld.

---
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb   |    4 ++--
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb   |    4 ++--
 meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb |    2 +-
 meta/recipes-kernel/linux/linux-yocto_3.2.bb      |   12 ++++++------
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |   12 ++++++------
 5 files changed, 17 insertions(+), 17 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb +2 -2
index e2aa67d..05362ef 100644
@@ -8,8 +8,8 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "01c5c310886e87e785db5c3bb776deb5ed2e03b2"
-SRCREV_machine_qemuppc ?= "9f5b45a730b902ed8a0809c9542512188e8fcabf"
+SRCREV_machine ?= "c094363010bd4645e65cc8845dd23e513ac894d1"
+SRCREV_machine_qemuppc ?= "8e63a7522e4901c1312f7f53e490027070ffc057"
 SRCREV_meta ?= "486f7aec824b4127e91ef53228823e996b3696f0"
 
 PR = "${INC_PR}.0"
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +2 -2
index 322ee5c..9cc7e99 100644
@@ -8,8 +8,8 @@ LINUX_KERNEL_TYPE = "preempt-rt"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "e8b22d297b61fb6f107f769042d47235c571da74"
-SRCREV_machine_qemuppc ?= "9cdefb26d9a263430f98d642aff6551ae925fce8"
+SRCREV_machine ?= "eb9c0669c66041eeae72b853011ec31ad81cc35d"
+SRCREV_machine_qemuppc ?= "76add8441a2b6ed26bcc9268819782b2eec99001"
 SRCREV_meta ?= "463299bc2e533e1bd38b0053ae7b210980f269c3"
 
 PR = "${INC_PR}.0"
meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb +1 -1
index 38a4e6c..2bd7eee 100644
@@ -12,7 +12,7 @@ LINUX_VERSION ?= "3.2.18"
 
 KMETA = "meta"
 
-SRCREV_machine ?= "2f986ab91c08c16f8d201518b11be0e367eb0e14"
+SRCREV_machine ?= "da6291c46f37e2fb799d964c807d8d57ea89c375"
 SRCREV_meta ?= "486f7aec824b4127e91ef53228823e996b3696f0"
 
 PR = "${INC_PR}.0"
meta/recipes-kernel/linux/linux-yocto_3.2.bb +6 -6
index b17e479..ba4b536 100644
@@ -9,12 +9,12 @@ KBRANCH_qemuarm  = "standard/default/arm-versatile-926ejs"
 
 LINUX_VERSION ?= "3.2.18"
 
-SRCREV_machine_qemuarm ?= "2ea2477e2965569517671ec03fa9496214e8bff1"
-SRCREV_machine_qemumips  ?= "17eb00dec08ef91acfb6d7adca81cb6e344b6c68"
-SRCREV_machine_qemuppc ?= "14be92545abd339033570620e84ec2ae6780be29"
-SRCREV_machine_qemux86 ?= "34e76349ed6cb7cadbbf94a5b34712d139703c8a"
-SRCREV_machine_qemux86-64 ?= "f3625121d459b8e38f7528c2f5d2feb6078d0de9"
-SRCREV_machine ?= "7cc31a952f78b8f8e8469eed93c23e9675a8eeb5"
+SRCREV_machine_qemuarm ?= "c721e94f7cd1b1ae7da5edc52076c771b2e9d134"
+SRCREV_machine_qemumips  ?= "2172812072c372cc704dac5e1654da81d6eabad3"
+SRCREV_machine_qemuppc ?= "800615ccdce45f6900b841954fa2f47987bb2a95"
+SRCREV_machine_qemux86 ?= "9e23973679d82a54dda697f539243fdea612e878"
+SRCREV_machine_qemux86-64 ?= "d7823aebcf7f724f50e30f245e5e71b3b4db1a0b"
+SRCREV_machine ?= "06882fc16a4e965872e7faacb91da1497efd9ac3"
 SRCREV_meta ?= "486f7aec824b4127e91ef53228823e996b3696f0"
 
 PR = "${INC_PR}.1"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +6 -6
index edb87da..06bcb9a 100644
@@ -3,12 +3,12 @@ require recipes-kernel/linux/linux-yocto.inc
 KBRANCH_DEFAULT = "standard/base"
 KBRANCH = "${KBRANCH_DEFAULT}"
 
-SRCREV_machine_qemuarm ?= "67376c621baf82ce51657246896647ababf5aa7c"
-SRCREV_machine_qemumips  ?= "7a8c1836ce33d49ff68e549e9415538a7419e3dc"
-SRCREV_machine_qemuppc ?= "5a3c4cf87fd94add818880a158e8e5a9e07303c9"
-SRCREV_machine_qemux86 ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
-SRCREV_machine_qemux86-64 ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
-SRCREV_machine ?= "a4c7a048fe3407e8eea0020db4a9c41d3feb8247"
+SRCREV_machine_qemuarm ?= "84d8ee32265eea5d60f57a2f70bd3b9a0fb9213d"
+SRCREV_machine_qemumips  ?= "ba0e336d4527080233c3c410989d4f351529ee4e"
+SRCREV_machine_qemuppc ?= "e82b8a111430e3820b11f507863c4b8e8734ed8e"
+SRCREV_machine_qemux86 ?= "0985844fa6235422c67ef269952fa4e765f252f9"
+SRCREV_machine_qemux86-64 ?= "0985844fa6235422c67ef269952fa4e765f252f9"
+SRCREV_machine ?= "0985844fa6235422c67ef269952fa4e765f252f9"
 SRCREV_meta ?= "463299bc2e533e1bd38b0053ae7b210980f269c3"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
Signature · 1 line
1.7.5.4
#7 lore raw
In reply to Bruce Ashfield
Quoted 29 lines · Bruce Ashfield

Saul/Richard,

This is largely the same pull request that I sent a week ago, and I've had things fixed for a bit, but I didn't want to send it again during my travel .. and then a long weekend.

So here's the request again.

It is a content update to 3.4.9 + some tool tweaking for problems found by Khem, Matthew Foster and Tom Zanussi. With the tools fixes, we have all known use cases back up and working.

The content update has been tested for 2 weeks now and is safe, we do know that the -rt kernel has some issues at the moment, and once this pull request is sent, I'll do a refresh on -rt and get that problem fixed.

Cheers,

Bruce

The following changes since commit bb86a22ba6f90902644c11f984ae4c171ba36624:

yocto-docs/.gitignore: Final fix to ignore mega-manual. (2012-09-04 12:55:03 +0100)

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

Quoted 7 lines

Bruce Ashfield (6):
kern-tools: fix forced branching
linux-yocto: fix unapplied patch error message
linux-yocto: check for bad SRCREV before branch checks
kern-tools: fix non-inheriting branch names linux-yocto/3.4: v3.4.9, unionfs, perf and configuration changes linux-yocto/3.2/3.4: arm: Fix linking errors with binutils 2.23

Merged to master, thanks.

Richard