[poky] [PATCH] kernel.bbclass: fix the bug of checking the existing sections in do_strip()

Kevin Hao kexin.hao at windriver.com
Tue Sep 29 19:29:33 PDT 2015


Ross reported the following waring when building edgerouter BSP:
    WARNING: Section not found: .comment

The reason is that the testing of the existing sections in do_strip()
returned the wrong value. Please see the following code in do_strip():
                for str in ${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}; do {
                        if [ "$headers" != *"$str"* ]; then
                                bbwarn "Section not found: $str";
                        fi

                        "$CROSS_COMPILE"strip -s -R $str ${KERNEL_OUTPUT}
                }; done

The "*" doesn't have special meaning in the if string test, so it will
return true even the $str is a substring of $headers. Fix this issue
by replacing it with "! (echo "$headers" | grep -q "^$str$")".

Reported-by: Ross Burton <ross.burton at intel.com>
Signed-off-by: Kevin Hao <kexin.hao at windriver.com>
---
 meta/classes/kernel.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index dfbdfd2..5e8b6cf 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -413,7 +413,7 @@ do_strip() {
 			  gawk '{print $1}'`
 
 		for str in ${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}; do {
-			if [ "$headers" != *"$str"* ]; then
+			if ! (echo "$headers" | grep -q "^$str$"); then
 				bbwarn "Section not found: $str";
 			fi
 
-- 
2.0.1



More information about the poky mailing list