svn commit: r303016 - head/contrib/llvm/projects/libunwind/include

Ed Maste emaste at FreeBSD.org
Tue Jul 19 00:47:01 UTC 2016


Author: emaste
Date: Tue Jul 19 00:47:00 2016
New Revision: 303016
URL: https://svnweb.freebsd.org/changeset/base/303016

Log:
  llvm-libunwind: use conventional (non-Darwin) X86 register numbers
  
  For historical reasons Darwin/i386 has ebp and esp swapped in the
  eh_frame register numbering.  That is:
  
               Darwin      Other
      Reg #    eh_frame    eh_frame    DWARF
      =====    ========    ========    =====
        4        ebp         esp        esp
        5        esp         ebp        ebp
  
  Although the UNW_X86_* constants are not supposed to be coupled to
  DWARF / eh_frame numbering they are currently conflated in LLVM
  libunwind, and thus we require the non-Darwin numbering.
  
  MFC after:	3 days
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/contrib/llvm/projects/libunwind/include/libunwind.h

Modified: head/contrib/llvm/projects/libunwind/include/libunwind.h
==============================================================================
--- head/contrib/llvm/projects/libunwind/include/libunwind.h	Tue Jul 19 00:27:17 2016	(r303015)
+++ head/contrib/llvm/projects/libunwind/include/libunwind.h	Tue Jul 19 00:47:00 2016	(r303016)
@@ -151,8 +151,8 @@ enum {
   UNW_X86_ECX = 1,
   UNW_X86_EDX = 2,
   UNW_X86_EBX = 3,
-  UNW_X86_EBP = 4,
-  UNW_X86_ESP = 5,
+  UNW_X86_ESP = 4,
+  UNW_X86_EBP = 5,
   UNW_X86_ESI = 6,
   UNW_X86_EDI = 7
 };


More information about the svn-src-all mailing list