aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/qa.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/meta/lib/oe/qa.py b/meta/lib/oe/qa.py
index d3800128ed..9e5ab587b7 100644
--- a/meta/lib/oe/qa.py
+++ b/meta/lib/oe/qa.py
@@ -28,6 +28,7 @@ class ELFFile:
def __init__(self, name, bits = 0):
self.name = name
self.bits = bits
+ self.objdump_output = {}
def open(self):
self.file = file(self.name, "r")
@@ -87,3 +88,19 @@ class ELFFile:
import struct
(a,) = struct.unpack(self.sex+"H", self.data[18:20])
return a
+
+ def run_objdump(self, cmd, d):
+ import bb.process
+ import sys
+
+ if self.objdump_output.has_key(cmd):
+ return self.objdump_output[cmd]
+
+ objdump = d.getVar('OBJDUMP', True)
+ staging_dir = d.getVar('STAGING_BINDIR_TOOLCHAIN', True)
+
+ 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]