From 72336003741fb16a7ecdd6b753eae56310413ff7 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 11 Oct 2016 13:19:43 +0100 Subject: lib/oe/qa: add ELF machine to string function Add a function (and test suite) to turn the ELF machine field (e_machine) into a string, so we can tell the user "x86-64" instead of 0x3E. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/lib/oe/qa.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'meta/lib/oe/qa.py') diff --git a/meta/lib/oe/qa.py b/meta/lib/oe/qa.py index 75e7df8546..fbe719d8ec 100644 --- a/meta/lib/oe/qa.py +++ b/meta/lib/oe/qa.py @@ -144,6 +144,26 @@ class ELFFile: bb.note("%s %s %s failed: %s" % (objdump, cmd, self.name, e)) return "" +def elf_machine_to_string(machine): + """ + Return the name of a given ELF e_machine field or the hex value as a string + if it isn't recognised. + """ + try: + return { + 0x02: "SPARC", + 0x03: "x86", + 0x08: "MIPS", + 0x14: "PowerPC", + 0x28: "ARM", + 0x2A: "SuperH", + 0x32: "IA-64", + 0x3E: "x86-64", + 0xB7: "AArch64" + }[machine] + except: + return "Unknown (%s)" % repr(machine) + if __name__ == "__main__": import sys elf = ELFFile(sys.argv[1]) -- cgit 1.2.3-korg