Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1255)

Issue 629002: Handle block helper functions in Breakpad symbol parser. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years ago by Ivan Penkov
Modified:
10 years, 12 months ago
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Handle block helper functions in Breakpad symbol parser.  Block helper functions
are associated with a source file but not associated with any line number.  For
such functions, the Breakpad symbol file contains 0 for the line numbers. 
Hence, 0 should be threated as valid line number.  For more information on block
helper functions, please, take a look at
http://clang.llvm.org/docs/Block-ABI-Apple.html.

Here is the symbol parser output:

E0906 11:27:06.051507 22535 basic_source_line_resolver.cc:76] Line 380187:
ParseLine failed
E0906 11:27:06.051614 22535 basic_source_line_resolver.cc:76] Line 380188:
ParseLine failed
E0906 11:27:06.051648 22535 basic_source_line_resolver.cc:76] Line 380190:
ParseLine failed
E0906 11:27:06.051679 22535 basic_source_line_resolver.cc:76] Line 380191:
ParseLine failed
E0906 11:27:06.200814 22535 basic_source_line_resolver.cc:76] Line 446729:
ParseLine failed

Here are the contents of the Breakpad symbol file:

FUNC 440d60 49 0 __copy_helper_block_
440d60 b 0 3160    <<<-----------  the third number is the line number
440d6b 3e 0 3160    <<<----------------------------   same here
FUNC 440db0 36 0 __destroy_helper_block_
440db0 a 0 3160    <<<----------------------------   same here
440dba 2c 0 3160    <<<----------------------------   same here
Committed: https://code.google.com/p/google-breakpad/source/detail?r=1214

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/processor/basic_source_line_resolver.cc View 1 2 2 chunks +9 lines, -2 lines 0 comments Download

Messages

Total messages: 4
Ivan Penkov
11 years ago #1
Mark Mentovai
LGTM. Also, what’s the file in this case? (FILE 3160) If something is perhaps wrong ...
11 years ago #2
Mark Mentovai
Oh, those aren’t real functions, they’re blocks helpers http://clang.llvm.org/docs/Block-ABI-Apple.html and llvm/tools/clang/lib/CodeGen/CGBlocks.cpp so they’re associated with ...
11 years ago #3
Ivan Penkov
11 years ago #4
On 2013/09/06 20:45:25, Mark Mentovai wrote:
> Oh, those aren’t real functions, they’re blocks helpers
> 
> http://clang.llvm.org/docs/Block-ABI-Apple.html
> and
> llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
> 
> so they’re associated with a file but don’t get real line numbers.

Cool.  Thanks for the link on blocks helpers.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted