]> granicus.if.org Git - llvm/commit
[JITLink][ORC] Track eh-frame section size for registration/deregistration.
authorLang Hames <lhames@gmail.com>
Tue, 27 Aug 2019 15:50:32 +0000 (15:50 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 27 Aug 2019 15:50:32 +0000 (15:50 +0000)
commita31126ef6703c3809fcd73d91e11104b23424170
treeb7da4deb73b255633081d99bcd7d3a4188dd474d
parenta92f0858b613d57db223ca54ae026c738f39fd79
[JITLink][ORC] Track eh-frame section size for registration/deregistration.

On MachO, processing of the eh-frame section should stop if the end of the
__eh_frame section is reached, regardless of whether or not there is a null CFI
length field at the end of the section. This patch tracks the eh-frame section
size and threads it through the appropriate APIs so that processing can be
terminated correctly.

No testcase yet: This patch is all API plumbing (rather than modification of
linked memory) which the existing infrastructure does not provide a way of
testing. Committing without a testcase until I have an idea of how to write
one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370074 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp