linux-yocto/kern-tools: consolidated pull request
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
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
@@ -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
PATCH 2/6 linux-yocto: fix unapplied patch error message
In reply to Bruce AshfieldWhen 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-initWith 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
@@ -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
@@ -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
PATCH 3/6 linux-yocto: check for bad SRCREV before branch checks
In reply to Bruce Ashfielddo_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
@@ -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
PATCH 4/6 kern-tools: fix non-inheriting branch names
In reply to Bruce AshfieldImporting 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
@@ -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
PATCH 5/6 linux-yocto/3.4: v3.4.9, unionfs, perf and configuration changes
In reply to Bruce AshfieldUpdating 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
@@ -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
@@ -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
PATCH 6/6 linux-yocto/3.2/3.4: arm: Fix linking errors with binutils 2.23
In reply to Bruce AshfieldUpdating 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
Richard Purdie
AppliedQuoted 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-contribzedd/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