<div dir="ltr"><div class="markdown-here-wrapper" style><p style="margin:1.2em 0px!important">Hah ok I see I misread the comment check-in as the fix.</p>
<p style="margin:1.2em 0px!important">So - I am going to test and check in this:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="language-diff" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;display:inline;background-color:rgb(248,248,248);white-space:pre;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;padding:0.5em;color:rgb(51,51,51);background:rgb(248,248,255)"><span class="header">Index: RegisterContext_x86.h</span>
<span class="header">===================================================================</span>
<span class="header">--- RegisterContext_x86.h       (revision 215178)</span>
<span class="header">+++ RegisterContext_x86.h       (working copy)</span>
<span class="chunk" style="color:rgb(170,170,170)">@@ -34,8 +34,8 @@</span>
     gcc_ecx_i386,
     gcc_edx_i386,
     gcc_ebx_i386,
<span class="deletion" style="background:rgb(255,221,221)">-    gcc_ebp_i386, // Warning: these are switched from dwarf values</span>
<span class="deletion" style="background:rgb(255,221,221)">-    gcc_esp_i386, //</span>
<span class="addition" style="background:rgb(221,255,221)">+    gcc_esp_i386,  // on Darwin esp & ebp are reversed in the eh_frame section for i386.</span>
<span class="addition" style="background:rgb(221,255,221)">+    gcc_ebp_i386,  // lldb will get those darwin-specific reg mappings from debugserver instead of here.</span>
     gcc_esi_i386,
     gcc_edi_i386,
     gcc_eip_i386,
</code></pre>
<p style="margin:1.2em 0px!important">(from Jason).</p>
<p style="margin:1.2em 0px!important">Jason - when we get MacOSX on lldb-gdbserver, we’ll just need to make sure we don’t undo this fix for <strong>APPLE</strong> code.  Is there anything else we might want to do about this now while we’re thinking about it for migration purposes?  (Like - we could #ifdef it now correctly for <strong>APPLE</strong> and have it default to the linux style just to be safe?)</p>

<p style="margin:1.2em 0px!important">-Todd</p>
<div title="MDH:SGFoIG9rIEkgc2VlIEkgbWlzcmVhZCB0aGUgY29tbWVudCBjaGVjay1pbiBhcyB0aGUgZml4Ljxk
aXY+PGJyPjwvZGl2PjxkaXY+U28gLSBJIGFtIGdvaW5nIHRvIHRlc3QgYW5kIGNoZWNrIGluIHRo
aXM6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5gYGBkaWZmPC9kaXY+PGRpdj48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij5JbmRl
eDogUmVnaXN0ZXJDb250ZXh0X3g4Ni5oPC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1pbHk6IGFy
aWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1p
bHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij49PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT08L3NwYW4+PHdiciBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5z
LXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFs
LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij49PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT08L3NwYW4+PHdiciBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBm
b250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNl
cmlmOyBmb250LXNpemU6IDEzcHg7Ij49PT09PT09PC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1p
bHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9u
dC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij4tLS0gUmVnaXN0
ZXJDb250ZXh0X3g4Ni5oICZuYnNwOyAmbmJzcDsgJm5ic3A7IChyZXZpc2lvbiAyMTUxNzgpPC9z
cGFuPjxiciBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6
IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250
LXNpemU6IDEzcHg7Ij4rKysgUmVnaXN0ZXJDb250ZXh0X3g4Ni5oICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICh3b3JraW5nIGNvcHkpPC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBz
YW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFy
aWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij5AQCAtMzQsOCArMzQsOCBAQDwvc3Bh
bj48YnIgc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAx
M3B4OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z
aXplOiAxM3B4OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDtnY2NfZWN4X2kzODYsPC9zcGFuPjxiciBz
dHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEz
cHg7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwO2djY19lZHhfaTM4Niw8L3NwYW4+PGJyIHN0eWxlPSJm
b250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPjxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPiZu
YnNwOyAmbmJzcDsgJm5ic3A7Z2NjX2VieF9pMzg2LDwvc3Bhbj48YnIgc3R5bGU9ImZvbnQtZmFt
aWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+PHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+LSAmbmJzcDsg
Jm5ic3A7Z2NjX2VicF9pMzg2LCAvLyBXYXJuaW5nOiB0aGVzZSBhcmUgc3dpdGNoZWQgZnJvbSBk
d2FyZiB2YWx1ZXM8L3NwYW4+PGJyIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2Vy
aWY7IGZvbnQtc2l6ZTogMTNweDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNh
bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPi0gJm5ic3A7ICZuYnNwO2djY19lc3BfaTM4Niwg
Ly88L3NwYW4+PGJyIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQt
c2l6ZTogMTNweDsiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7
IGZvbnQtc2l6ZTogMTNweDsiPisgJm5ic3A7ICZuYnNwO2djY19lc3BfaTM4NiwgJm5ic3A7Ly8g
b24gRGFyd2luIGVzcCAmYW1wOyBlYnAgYXJlIHJldmVyc2VkIGluIHRoZSBlaF9mcmFtZSBzZWN0
aW9uIGZvciBpMzg2Ljwvc3Bhbj48YnIgc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1z
ZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwg
c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+KyAmbmJzcDsgJm5ic3A7Z2NjX2VicF9pMzg2
LCAmbmJzcDsvLyBsbGRiIHdpbGwgZ2V0IHRob3NlIGRhcndpbi1zcGVjaWZpYyByZWcgbWFwcGlu
Z3MgZnJvbSBkZWJ1Z3NlcnZlciBpbnN0ZWFkIG9mIGhlcmUuPC9zcGFuPjxiciBzdHlsZT0iZm9u
dC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij4mbmJz
cDsgJm5ic3A7ICZuYnNwO2djY19lc2lfaTM4Niw8L3NwYW4+PGJyIHN0eWxlPSJmb250LWZhbWls
eTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPjxzcGFuIHN0eWxlPSJmb250
LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPiZuYnNwOyAmbmJz
cDsgJm5ic3A7Z2NjX2VkaV9pMzg2LDwvc3Bhbj48YnIgc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlh
bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5
OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+Jm5ic3A7ICZuYnNwOyAmbmJz
cDtnY2NfZWlwX2kzODYsPC9zcGFuPjxicj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZh
bWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTNweDsiPmBgYDwvc3Bhbj48L2Rp
dj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQt
c2l6ZTogMTNweDsiPihmcm9tIEphc29uKS48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48YnI+PC9z
cGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJp
ZjsgZm9udC1zaXplOiAxM3B4OyI+SmFzb24gLSB3aGVuIHdlIGdldCBNYWNPU1ggb24gbGxkYi1n
ZGJzZXJ2ZXIsIHdlJ2xsIGp1c3QgbmVlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdW5kbyB0aGlz
IGZpeCBmb3IgX19BUFBMRV9fIGNvZGUuICZuYnNwO0lzIHRoZXJlIGFueXRoaW5nIGVsc2Ugd2Ug
bWlnaHQgd2FudCB0byBkbyBhYm91dCB0aGlzIG5vdyB3aGlsZSB3ZSdyZSB0aGlua2luZyBhYm91
dCBpdCBmb3IgbWlncmF0aW9uIHB1cnBvc2VzPyAmbmJzcDsoTGlrZSAtIHdlIGNvdWxkICNpZmRl
ZiBpdCBub3cgY29ycmVjdGx5IGZvciBfX0FQUExFX18gYW5kIGhhdmUgaXQgZGVmYXVsdCB0byB0
aGUgbGludXggc3R5bGUganVzdCB0byBiZSBzYWZlPyk8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7Ij48
YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fu
cy1zZXJpZjsgZm9udC1zaXplOiAxM3B4OyI+LVRvZGQ8L3NwYW4+PC9kaXY+" style="height:0;font-size:0em;padding:0;margin:0">​</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 12, 2014 at 5:41 PM, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ok - see you already did it.  Thanks!</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Aug 12, 2014 at 5:41 PM, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ok - so Jason, your patch is fine to submit?</div><div class="gmail_extra"><div><div><br><br>
<div class="gmail_quote">On Tue, Aug 12, 2014 at 5:22 PM, Tong Shen <span dir="ltr"><<a href="mailto:endlessroad@google.com" target="_blank">endlessroad@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry just saw this.. Agree.</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, Aug 12, 2014 at 5:08 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">I believe the correct patch looks closer to<br>
<br>
Index: RegisterContext_x86.h<br>
===================================================================<br>
--- RegisterContext_x86.h       (revision 215178)<br>
+++ RegisterContext_x86.h       (working copy)<br>
@@ -34,8 +34,8 @@<br>
     gcc_ecx_i386,<br>
     gcc_edx_i386,<br>
     gcc_ebx_i386,<br>
-    gcc_ebp_i386, // Warning: these are switched from dwarf values<br>
-    gcc_esp_i386, //<br>
+    gcc_esp_i386,  // on Darwin esp & ebp are reversed in the eh_frame section for i386.<br>
+    gcc_ebp_i386,  // lldb will get those darwin-specific reg mappings from debugserver instead of here.<br>
     gcc_esi_i386,<br>
     gcc_edi_i386,<br>
     gcc_eip_i386,<br>
<div><div><br>
<br>
<br>
> On Aug 12, 2014, at 5:05 PM, Todd Fiala <<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>> wrote:<br>
><br>
> Yep, will do later tonight.<br>
><br>
> -Todd<br>
><br>
> On Aug 12, 2014, at 4:32 PM, Tong Shen <<a href="mailto:endlessroad@google.com" target="_blank">endlessroad@google.com</a>> wrote:<br>
><br>
>> Got it. So much magic going on there.<br>
>><br>
>> +Todd Can you check this in? Thanks!<br>
>><br>
>><br>
>> On Tue, Aug 12, 2014 at 4:23 PM, Jason Molenda <<a href="mailto:jmolenda@apple.com" target="_blank">jmolenda@apple.com</a>> wrote:<br>
>><br>
>> > On Aug 12, 2014, at 4:20 PM, Tong Shen <<a href="mailto:endlessroad@google.com" target="_blank">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>
>> 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>
>><br>
>><br>
>><br>
>> --<br>
>> Best Regards, Tong Shen<br>
>> <1.patch><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards, Tong Shen</div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div></div><div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'">
<tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>


<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>


<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">

<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>