HomePhabricator

[RuntimeDyld] Call the SymbolResolver::findSymbolInLogicalDylib method when

Description

[RuntimeDyld] Call the SymbolResolver::findSymbolInLogicalDylib method when
searching for external symbols, and fall back to the SymbolResolver::findSymbol
method if the former returns null.

This makes RuntimeDyld behave more like a static linker: Symbol definitions
from within the current module's "logical dylib" will be preferred to
external definitions. We can build on this behavior in the future to properly
support weak symbol handling.

Custom symbol resolvers that override the findSymbolInLogicalDylib method may
notice changes due to this patch. Clients who have not overridden this method
should generally be unaffected, however users of the OrcMCJITReplacement class
may notice changes.

Details

Committed
lhamesMay 25 2016, 9:23 AM
Parents
rL270715: Clarify that we match BSwap in InstCombine and BitReverse in CGP. NFC.
Branches
Unknown
Tags
Unknown