[mach-o] Add support for interposing tuples section
authorNick Kledzik <kledzik@apple.com>
Thu, 6 Nov 2014 01:09:13 +0000 (01:09 +0000)
committerNick Kledzik <kledzik@apple.com>
Thu, 6 Nov 2014 01:09:13 +0000 (01:09 +0000)
commit5c4693d8d20ad5fb354f247907376cd9d07d514f
tree388a864aec3c9cd8bde47953bcb785961b81c347
parent30804c42207801541c84346fcc8ec6e5333def34
[mach-o] Add support for interposing tuples section

Darwin uses two-level-namespace lookup for symbols which means the static
linker records where each symbol must be found at runtime.  Thus defining a
symbol in a dylib loaded earlier will not effect where symbols needed by
later dylibs will be found.  Instead overriding is done through a section
of type S_INTERPOSING which contains tuples of <interposer, interposee>.

llvm-svn: 221421
lld/include/lld/Core/DefinedAtom.h
lld/lib/Core/DefinedAtom.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp