summaryrefslogtreecommitdiffstats
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:
28 def __init__(self, name, bits = 0): 28 def __init__(self, name, bits = 0):
29 self.name = name 29 self.name = name
30 self.bits = bits 30 self.bits = bits
31 self.objdump_output = {}
31 32
32 def open(self): 33 def open(self):
33 self.file = file(self.name, "r") 34 self.file = file(self.name, "r")
@@ -87,3 +88,19 @@ class ELFFile:
87 import struct 88 import struct
88 (a,) = struct.unpack(self.sex+"H", self.data[18:20]) 89 (a,) = struct.unpack(self.sex+"H", self.data[18:20])
89 return a 90 return a
91
92 def run_objdump(self, cmd, d):
93 import bb.process
94 import sys
95
96 if self.objdump_output.has_key(cmd):
97 return self.objdump_output[cmd]
98
99 objdump = d.getVar('OBJDUMP', True)
100 staging_dir = d.getVar('STAGING_BINDIR_TOOLCHAIN', True)
101
102 env = os.environ
103 env["LC_ALL"] = "C"
104
105 self.objdump_output[cmd] = bb.process.run([ os.path.join(staging_dir, objdump), cmd, self.name ], env=env, shell=False)[0]
106 return self.objdump_output[cmd]