llvm-project/llvm/lib/ExecutionEngine
Lang Hames b1ba4d8a8a [JITLink] Refer to FDE's CIE (not the most recent CIE) when parsing eh-frame.
Frame Descriptor Entries (FDEs) have a pointer back to a Common Information
Entry (CIE) that describes how the rest FDE should be parsed. JITLink had been
assuming that FDEs always referred to the most recent CIE encountered, but the
spec allows them to point back to any previously encountered CIE. This patch
fixes JITLink to look up the correct CIE for the FDE.

The testcase is a MachO binary with an FDE that refers to a CIE that is not the
one immediately proceeding it (the layout can be viewed wit
'dwarfdump --eh-frame <testcase>'. This test case had to be a binary as llvm-mc
now sorts FDEs (as of r356216) to ensure FDEs *do* point to the most recent CIE.

llvm-svn: 359105
2019-04-24 15:15:55 +00:00
..
IntelJITEvents [DebugInfo] IntelJitEventListener follow up for "add SectionedAddress ..." 2019-03-25 13:50:26 +00:00
Interpreter Add newline to interpreter debugging output 2019-03-07 10:14:38 +00:00
JITLink [JITLink] Refer to FDE's CIE (not the most recent CIE) when parsing eh-frame. 2019-04-24 15:15:55 +00:00
MCJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OProfileJIT Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Orc [JITLink] Remove a lot of reduntant 'JITLink_' prefixes. NFC. 2019-04-22 03:03:09 +00:00
PerfJITEvents [perf][DebugInfo] follow up for "add SectionedAddress to DebugInfo interfaces" 2019-03-20 10:02:18 +00:00
RuntimeDyld Initial implementation of JITLink - A replacement for RuntimeDyld. 2019-04-20 17:10:34 +00:00
CMakeLists.txt Initial implementation of JITLink - A replacement for RuntimeDyld. 2019-04-20 17:10:34 +00:00
ExecutionEngine.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ExecutionEngineBindings.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
GDBRegistrationListener.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLVMBuild.txt Initial implementation of JITLink - A replacement for RuntimeDyld. 2019-04-20 17:10:34 +00:00
SectionMemoryManager.cpp MemoryBlock: Do not automatically extend a given size to a multiple of page size. 2019-01-23 02:03:26 +00:00
TargetSelect.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00