summaryrefslogtreecommitdiff
path: root/meta/classes
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2012-07-31 04:00:01 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-31 11:52:06 +0100
commita834ab8a6d53cae504fa112a89bab93d726539ec (patch)
treee322dd6b2b5e02e1cb7e8dfc7d6a81389a67c452 /meta/classes
parent8c6a9bd7b4fea62b5765caecad660d372379e412 (diff)
downloadopenembedded-core-a834ab8a6d53cae504fa112a89bab93d726539ec.tar.gz
openembedded-core-a834ab8a6d53cae504fa112a89bab93d726539ec.tar.bz2
openembedded-core-a834ab8a6d53cae504fa112a89bab93d726539ec.zip
package.bbclass: fix TypeError in runstrip
* some packages have .ko files which are not elf, without this change it fails with TypeError, with this change only runstip fails and reports where: ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package.bbclass16
1 files changed, 10 insertions, 6 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 6142911cff..3aaf9998e0 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -291,12 +291,16 @@ def runstrip(file, elftype, d):
os.chmod(file, newmode)
extraflags = ""
- # .so and shared library
- if ".so" in file and elftype & 8:
- extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
- # shared or executable:
- elif elftype & 8 or elftype & 4:
- extraflags = "--remove-section=.comment --remove-section=.note"
+
+ # split_and_strip_files is calling this with elf_type None, causing:
+ # TypeError: unsupported operand type(s) for &: 'NoneType' and 'int'
+ if elftype:
+ # .so and shared library
+ if ".so" in file and elftype & 8:
+ extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
+ # shared or executable:
+ elif elftype & 8 or elftype & 4:
+ extraflags = "--remove-section=.comment --remove-section=.note"
stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
bb.debug(1, "runstrip: %s" % stripcmd)