[Lldb-commits] 64bit eh_frame support

Tong Shen endlessroad at google.com
Fri Aug 15 15:30:59 PDT 2014


Hi Jason,

Attached patch adds 64bit eh_frame section support.

In practice, 64bit eh_frame is not used even for x86_64 binaries. The main
reason is in eh_frame we almost always use pc-relative addressing, so
addresses are within 32bits and gcc just sticks to 32bit eh_frame.

I generated 64bit eh_frame for Android Java runtime and unwind successfully
in gdb, and in lldb with this patch.

Also, I double checked with gdb source code
<https://sourceware.org/git/?p=gdb.git;a=blob;f=gdb/dwarf2-frame.c;hb=master>(decode_frame_entry_1)
and libunwind source code
<http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob;f=src/dwarf/Gfde.c;hb=HEAD>(parse_cie
& dwarf_extract_proc_info_from_fde) to make sure my understanding is
correct.

Thank you.

-- 
Best Regards, Tong Shen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140815/72b8aea5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eh_frame_64.patch
Type: text/x-patch
Size: 3696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140815/72b8aea5/attachment.bin>


More information about the lldb-commits mailing list