lib/oe/qa: Trap exceptions when running objdump

This avoids propagating a failure if we encounter an ELF file
that objdump can't parse for any reason.  Some versions and/or
configurations of objdump will refuse to read files for "the
wrong" architecture.

(From OE-Core rev: 11f5998e539f7b884ae1387252f8995b2dc7437f)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Phil Blundell 2012-10-17 20:34:58 +00:00 committed by Richard Purdie
parent 0fd014eada
commit f0a56f6d15
1 changed files with 7 additions and 2 deletions

View File

@ -102,5 +102,10 @@ class ELFFile:
env = os.environ
env["LC_ALL"] = "C"
self.objdump_output[cmd] = bb.process.run([ os.path.join(staging_dir, objdump), cmd, self.name ], env=env, shell=False)[0]
return self.objdump_output[cmd]
try:
bb.note("%s %s %s" % (objdump, cmd, self.name))
self.objdump_output[cmd] = bb.process.run([ os.path.join(staging_dir, objdump), cmd, self.name ], env=env, shell=False)[0]
return self.objdump_output[cmd]
except Exception, e:
bb.note("%s %s %s failed: %s" % (objdump, cmd, self.name, e))
return ""