diff options
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/qa.py | 17 |
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] | ||