Fix arguments passed to llvm-readobj
Upstream llvm-readobj no longer accepts single dash prefix for long options. Changed to double dash. Also let the script to raise exception if rc is non-zero, to avoid getting confusing error later in the program. Test: build Bug: 197230471 Change-Id: I364f51322904431d430549f79af58f455f47e028
This commit is contained in:
@@ -195,10 +195,12 @@ class ELFParser(object):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def _read_llvm_readobj(cls, elf_file_path, header, llvm_readobj):
|
def _read_llvm_readobj(cls, elf_file_path, header, llvm_readobj):
|
||||||
"""Run llvm-readobj and parse the output."""
|
"""Run llvm-readobj and parse the output."""
|
||||||
proc = subprocess.Popen(
|
cmd = [llvm_readobj, '--dynamic-table', '--dyn-symbols', elf_file_path]
|
||||||
[llvm_readobj, '-dynamic-table', '-dyn-symbols', elf_file_path],
|
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
||||||
out, _ = proc.communicate()
|
out, _ = proc.communicate()
|
||||||
|
rc = proc.returncode
|
||||||
|
if rc != 0:
|
||||||
|
raise subprocess.CalledProcessError(rc, cmd, out)
|
||||||
lines = out.splitlines()
|
lines = out.splitlines()
|
||||||
return cls._parse_llvm_readobj(elf_file_path, header, lines)
|
return cls._parse_llvm_readobj(elf_file_path, header, lines)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user