[scripts] Ignore demangle errors building sym table
For some reason, cxxfilt fails to demangle some names on some systems. Instead of failing the build process, just skip those symbols.
This commit is contained in:
@@ -19,15 +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
|
||||
|
||||
addr = int(addr, base=16)
|
||||
try:
|
||||
name = demangle(mangled)
|
||||
except InvalidName:
|
||||
continue
|
||||
|
||||
addr = int(addr, base=16)
|
||||
syms.append((addr, name))
|
||||
|
||||
return sorted(syms)
|
||||
|
||||
Reference in New Issue
Block a user