<div dir="ltr">Got it. So much magic going on there.<div><br></div><div>+Todd Can you check this in? Thanks!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 12, 2014 at 4:23 PM, Jason Molenda <span dir="ltr"><<a href="mailto:jmolenda@apple.com" target="_blank">jmolenda@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
> On Aug 12, 2014, at 4:20 PM, Tong Shen <<a href="mailto:endlessroad@google.com">endlessroad@google.com</a>> wrote:<br>
><br>
> There's this line in your dwarfdump output:<br>
> DW_CFA_def_cfa (5 (esp), 4)<br>
> DW_CFA_offset (8 (eip), -4)<br>
><br>
> On Ubuntu 14.04, objdump -W outputs this:<br>
> DW_CFA_def_cfa: r4 (esp) ofs 4<br>
> DW_CFA_offset: r8 (eip) at cfa-4<br>
><br>
> I believe this is the cause. On OSX, esp=5; on linux, esp=4<br>
<br>
<br>
</div></div>Yeah, I was starting to get that impression too.  I thought the old esp/ebp mixup was across all the gcc platforms - but who knows.  Feel free to fix the RegisterContext_x86 enum definitions for esp/ebp - on Mac OS X we'll still be using the debugserver-provided register definitions.  (and we don't use eh_frame very often on Mac OS X - we primarily use a local compact unwind format that I haven't written an importer for yet)<br>

<br>
Normally this kind of thing would be defined in the processor ABI document -- but I've never been able to find a document like that for IA-32.<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards, Tong Shen</div>
</div>