[scripts] Fix demangle error

On my laptop, a few symbol names raise errors as invalid when attempting
to demangle them. This should not stop the rest of the symbol table from
building.
This commit is contained in:
Justin C. Miller
2020-11-10 01:31:23 -08:00
parent 47fab631d0
commit 3daa07e311

View File

@@ -19,16 +19,19 @@ def parse_syms(infile):
representing the symbols in the text segment of the binary. Returns
a list of (address, symbol_name)."""
from cxxfilt import demangle
from cxxfilt import demangle, InvalidName
syms = []
for line in sys.stdin:
addr, t, mangled = line.split()
if t not in "tTvVwW": continue
try:
addr = int(addr, base=16)
name = demangle(mangled)
syms.append((addr, name))
except InvalidName:
pass
return sorted(syms)