diff options
author | Ed Maste <emaste@FreeBSD.org> | 2016-07-19 00:47:00 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2016-07-19 00:47:00 +0000 |
commit | b1b83691143f08ff4f625edbc50982274cf23ba2 (patch) | |
tree | 1de363e057da83a574d81f846fae5bbe970a9474 /contrib/llvm | |
parent | ffa25bec329930c63ccb0b6a86a8465fcd7c108e (diff) | |
download | src-b1b83691143f08ff4f625edbc50982274cf23ba2.tar.gz src-b1b83691143f08ff4f625edbc50982274cf23ba2.zip |
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
Notes
Notes:
svn path=/head/; revision=303016
Diffstat (limited to 'contrib/llvm')
-rw-r--r-- | contrib/llvm/projects/libunwind/include/libunwind.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/contrib/llvm/projects/libunwind/include/libunwind.h b/contrib/llvm/projects/libunwind/include/libunwind.h index 40e01ffa392c..64534b135f82 100644 --- a/contrib/llvm/projects/libunwind/include/libunwind.h +++ b/contrib/llvm/projects/libunwind/include/libunwind.h @@ -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 }; |