Add EH support to the MCJIT.
authorRafael Espindola <rafael.espindola@gmail.com>
Sun, 5 May 2013 20:43:10 +0000 (20:43 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Sun, 5 May 2013 20:43:10 +0000 (20:43 +0000)
commita2e40fbd624916c187a95ed76939ca7f02ed3e53
treea2123a8cee6f7edaf0bb085625c018314e4e46fd
parent9f2bebbc288354f0818f3a319a91cc7efd09ef93
Add EH support to the MCJIT.

This gets exception handling working on ELF and Macho (x86-64 at least).
Other than the EH frame registration, this patch also implements support
for GOT relocations which are used to locate the personality function on
MachO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181167 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/RuntimeDyld.h
include/llvm/ExecutionEngine/SectionMemoryManager.h
lib/ExecutionEngine/MCJIT/MCJIT.cpp
lib/ExecutionEngine/MCJIT/SectionMemoryManager.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
test/ExecutionEngine/MCJIT/eh.ll [new file with mode: 0644]