forked from OSchip/llvm-project
77d82202d1
These behave slightly idiosyncratically in the best of cases, and have additional hacks layered on top of that for compatibility with badly behaved build systems (via ld64). For -lXYZ: + If XYZ is actually XY.o then search all library paths for XY.o + Otherwise search all library paths, first for libXYZ.dylib, then libXYZ.a + By default the library paths are /usr/lib and /usr/local/lib in that order. For -syslibroot: + -syslibroot options apply to absolute paths in the search order. + All -syslibroot prefixes that exist are added to the search path *instead* of the original. + If no -syslibroot prefixed path exists, the original is kept. + Hacks^WExceptions: + If only 1 -syslibroot is given and doesn't contain /usr/lib or /usr/local/lib, that path is dropped entirely. (rdar://problem/6438270). + If the last -syslibroot is "/", all of them are ignored entirely. (rdar://problem/5829579). At least, that's my best interpretation of what ld64 does in buildSearchPaths. llvm-svn: 212706 |
||
---|---|---|
.. | ||
Atoms.h | ||
CMakeLists.txt | ||
ExecutableAtoms.hpp | ||
File.h | ||
GOTPass.cpp | ||
GOTPass.hpp | ||
MachOLinkingContext.cpp | ||
MachONormalizedFile.h | ||
MachONormalizedFileBinaryReader.cpp | ||
MachONormalizedFileBinaryUtils.h | ||
MachONormalizedFileBinaryWriter.cpp | ||
MachONormalizedFileFromAtoms.cpp | ||
MachONormalizedFileToAtoms.cpp | ||
MachONormalizedFileYAML.cpp | ||
MachOPasses.h | ||
Makefile | ||
ReferenceKinds.cpp | ||
ReferenceKinds.h | ||
StubAtoms.hpp | ||
StubAtoms_x86.hpp | ||
StubAtoms_x86_64.hpp | ||
StubsPass.cpp | ||
StubsPass.hpp | ||
WriterMachO.cpp |