]> granicus.if.org Git - llvm/commit
[RuntimeDyld] Make RuntimeDyld honor the ProcessAllSections flag.
authorLang Hames <lhames@gmail.com>
Tue, 4 Apr 2017 17:03:49 +0000 (17:03 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 4 Apr 2017 17:03:49 +0000 (17:03 +0000)
commite65aa1c44eaac0fead4487ae03e723970036554b
treefba8b85524ac157edf6ee85330dd9d1dd8882532
parent1f3f346415be5a95cf270a79bba2081cd079da2f
[RuntimeDyld] Make RuntimeDyld honor the ProcessAllSections flag.

When the ProcessAllSections flag (introduced in r204398) is set RuntimeDyld is
supposed to make a call to the client's memory manager for every section in each
object that is loaded. Due to some missing checks, this was not happening in all
cases. This patch adds the missing cases, and fixes the Orc unit test that
verifies correct behavior for ProcessAllSections (The unit test had been
silently bailing out due to an ordering issue: a change in the test order meant
that this unit-test was running before the native target was registered. This
issue has also been fixed in this patch).

This fixes <rdar://problem/22789965>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299449 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
unittests/ExecutionEngine/Orc/OrcTestCommon.h
unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp