[Lldb-commits] [lldb] r215484 - Add comment explaining the dwarf v. eh_frame register numbering used

Jason Molenda jmolenda at apple.com
Tue Aug 12 17:21:32 PDT 2014


Author: jmolenda
Date: Tue Aug 12 19:21:31 2014
New Revision: 215484

URL: http://llvm.org/viewvc/llvm-project?rev=215484&view=rev
Log:
Add comment explaining the dwarf v. eh_frame register numbering used
on i386 darwin.

Modified:
    lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp

Modified: lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp?rev=215484&r1=215483&r2=215484&view=diff
==============================================================================
--- lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp (original)
+++ lldb/trunk/tools/debugserver/source/MacOSX/i386/DNBArchImplI386.cpp Tue Aug 12 19:21:31 2014
@@ -167,7 +167,12 @@ enum
     gcc_ecx,
     gcc_edx,
     gcc_ebx,
-    gcc_ebp,
+
+    // On i386 Darwin the eh_frame register numbers for ebp and esp are reversed from DWARF.
+    // It's due to an ancient compiler bug in the output of the eh_frame.
+    // Specifically, on i386 darwin eh_frame, 4 is ebp, 5 is esp.
+    // On i386 darwin debug_frame (and debug_info), 4 is esp, 5 is ebp.
+    gcc_ebp,   
     gcc_esp,
     gcc_esi,
     gcc_edi,





More information about the lldb-commits mailing list