aboutsummaryrefslogtreecommitdiff
path: root/src/common/mac/dump_syms.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/mac/dump_syms.mm')
-rw-r--r--src/common/mac/dump_syms.mm10
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;