<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="BodyFragment"><font size="2"><span style="font-size:10pt;">
<div class="PlainText">Version with comments added.<br>
<br>
</div>
</span></font></div>
<div class="BodyFragment"><font size="2"><span style="font-size:10pt;">
<div class="PlainText"><br>
<br>
On Sep 15, 2014, at 10:05 AM, Todd Fiala <tfiala@google.com> wrote:<br>
<br>
> Hey Stephane,<br>
> <br>
> On patch 2 - could you add some comments around these bits? It’s a little unclear what’s happening there and I want to make sure we don’t break it at some point later.<br>
> <br>
> + symbol_value_offset = -1;<br>
> <br>
> <br>
> <br>
> - uint64_t symbol_value = symbol.st_value; <br>
> + uint64_t symbol_value = symbol.st_value | symbol_value_offset;<br>
> Other than that, it looks fine.  I'll wait on that for the patch submission of part 2.<br>
> <br>
> Also - not needed for the patch itself, but would be great as a follow up would be adding a unit test to verify we’re correctly marking the thumb code symbols. That’d be great if you could add a unit test for it.<br>
> <br>
> Thanks!<br>
> -Todd<br>
> <br>
> On Mon, Sep 15, 2014 at 9:38 AM, Todd Fiala <tfiala@google.com> wrote:<br>
> <br>
> <br>
> <br>
> Part 1 committed here:<br>
> ```<br>
> svn commit<br>
> Sending        source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp<br>
> Transmitting file data .<br>
> Committed revision 217782.<br>
> ```<br>
> <br>
> Stephane - it would be great if you could add a unit test to verify those symbols are getting stripped.  Let me know if you need help figuring out how the unit tests work.<br>
> <br>
> Looking at Part 2 now.<br>
> <br>
> -Todd<br>
> <br>
> On Wed, Sep 10, 2014 at 12:55 PM, Stephane Sezer <sas@fb.com> wrote:<br>
> Re-sending these, as the first email didn’t reach the mailing list for some reason.<br>
> <br>
> <br>
> <br>
> On Sep 9, 2014, at 5:27 PM, Stephane Sezer <sas@fb.com> wrote:<br>
> <br>
> > Two patches here:<br>
> > <br>
> > [PATCH 1/2] Skip $t* and $a* symbols in ObjectFileELF.<br>
> > <br>
> > ELF objects contain marker symbols to differentiate between ARM and<br>
> > THUMB functions. Instead of storing them internally and having garbage<br>
> > show up when symbols are searched for by the user, we can just skip them<br>
> > and not store them at all, as we never actually need them.<br>
> > <br>
> > [PATCH 2/2] Store the thumbness of a function in symbol flags.<br>
> > <br>
> > This allows us to fixup the address of the symbol as soon as we parse it<br>
> > so that lldb is not confused thinking there are two different symbols in<br>
> > the binary (one with the thumb bit, one without). Also, differentiating<br>
> > between THUMB and ARM symbols allows the debugger to place the right<br>
> > type of breakpoint.<br>
> > <br>
> > <br>
> > <0001-Skip-t-and-a-symbols-in-ObjectFileELF.patch><0002-Store-the-thumbness-of-a-function-in-symbol-flags.patch><br>
> <br>
> <br>
> <br>
> <br>
> -- <br>
> Todd Fiala |   Software Engineer |      tfiala@google.com |      650-943-3180<br>
> <br>
> <br>
> <br>
> ​<br>
> -- <br>
> Todd Fiala |   Software Engineer |      tfiala@google.com |      650-943-3180<br>
> <br>
<br>
</div>
</span></font></div>
</body>
</html>