diff --git a/scripts/build_symbol_table.py b/scripts/build_symbol_table.py index 2095d34..f373518 100755 --- a/scripts/build_symbol_table.py +++ b/scripts/build_symbol_table.py @@ -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 - addr = int(addr, base=16) - name = demangle(mangled) - syms.append((addr, name)) + try: + addr = int(addr, base=16) + name = demangle(mangled) + syms.append((addr, name)) + except InvalidName: + pass return sorted(syms)