diff options
Diffstat (limited to 'src/common/mac')
-rw-r--r-- | src/common/mac/dump_syms.mm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/common/mac/dump_syms.mm b/src/common/mac/dump_syms.mm index 5e6dbde0..34d811de 100644 --- a/src/common/mac/dump_syms.mm +++ b/src/common/mac/dump_syms.mm @@ -502,7 +502,7 @@ void DumpFunctionMap(const dwarf2reader::FunctionMap function_map) { } // set line number for beginning of function - if (![dict objectForKey:kAddressSourceLineKey]) + if (iter->second->line && ![dict objectForKey:kAddressSourceLineKey]) [dict setObject:[NSNumber numberWithUnsignedInt:iter->second->line] forKey:kAddressSourceLineKey]; @@ -534,7 +534,7 @@ void DumpFunctionMap(const dwarf2reader::FunctionMap function_map) { [dict release]; } - if (![dict objectForKey:kAddressSourceLineKey]) { + if (iter->second.second && ![dict objectForKey:kAddressSourceLineKey]) { [dict setObject:[NSNumber numberWithUnsignedInt:iter->second.second] forKey:kAddressSourceLineKey]; } @@ -1024,6 +1024,12 @@ static BOOL WriteFormat(int fd, const char *fmt, ...) { if ([symbol hasPrefix:@"GCC_except_table"]) continue; + if ([symbol hasPrefix:@"__tcf"]) + continue; + + if ([symbol hasPrefix:@"non-virtual thunk"]) + continue; + // Find the source file (if any) that contains this address while (sourceCount && (addressVal >= nextSourceFileAddress)) { fileIdx = nextFileIdx; |