parser.add_argument('--dumpbin',
action='store',
help='path to binary (or name in $PATH)')
+ parser.add_argument('--ignore-symbol',
+ action='append',
+ help='do not process this symbol')
args = parser.parse_args()
try:
continue
if symbol in optional_symbols:
continue
+ if args.ignore_symbol and symbol in args.ignore_symbol:
+ continue
if symbol[:2] == '_Z':
- # Ignore random C++ symbols
- #TODO: figure out if there's any way to avoid exporting them in the first place
+ # As ajax found out, the compiler intentionally exports symbols
+ # that we explicitely asked it not to export, and we can't do
+ # anything about it:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36022#c4
continue
unknown_symbols.append(symbol)