<div dir="ltr"><div>For the "n" statement not stepping over a i386 hello_world app, it looks like we don't have unwind info for the printf plt.</div><div><br></div><div>They do exist in the binary:</div><div>

<br></div>> mikesart@mikesart-rad:~/data/src/blah/build32$ readelf --debug-dump=frames --wide hello_world<br>> Contents of the .eh_frame section:<br>> <br>> 00000000 00000014 00000000 CIE<br>>   Version:               1<br>

>   Augmentation:          "zR"<br>>   Code alignment factor: 1<br>>   Data alignment factor: -4<br>>   Return address column: 8<br>>   Augmentation data:     1b<div>><br>>   DW_CFA_def_cfa: r4 (esp) ofs 4<br>

>   DW_CFA_offset: r8 (eip) at cfa-4<br>>   DW_CFA_nop<br>>   DW_CFA_nop<div>><br>> 00000018 00000020 0000001c FDE cie=00000000 pc=080484a0..080484e0<br>>   DW_CFA_def_cfa_offset: 8<br>>   DW_CFA_advance_loc: 6 to 080484a6<br>

>   DW_CFA_def_cfa_offset: 12<br>>   DW_CFA_advance_loc: 10 to 080484b0<br>>   DW_CFA_def_cfa_expression (DW_OP_breg4 (esp): 4; DW_OP_breg8 (eip): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus)<div>

<br><div>But lldb either can't find them or they've failed to load.</div><div class="gmail_extra"><br>> Process 4045 stopped<br>> * thread #1: tid = 4045, 0x080484d0 hello_world, name = 'hello_world', stop reason = instruction step into<br>

>     frame #0: 0x080484d0 hello_world<br>> -> 0x80484d0:  jmp    dword ptr [0x804a008]<br>>    0x80484d6:  push   0x10<br>>    0x80484db:  jmp    0x80484a0                 ; hello_world..plt + 0<br>> hello_world`_start + 64:<br>

>    0x80484e0:  xor    ebp, ebp</div><div class="gmail_extra">><br>> (lldb) target modules show-unwind -a 0x80484d0<br>> (lldb) <div class="gmail_extra"><br></div><div class="gmail_extra">Unwind info does exist for addresses in main(), and all of this works as expected in x64.<br>

</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'll start debugging where this is failing...</div><div class="gmail_extra"> -Mike</div></div></div></div></div></div>