ModulesΒ§
- raw_
dylib π
StructsΒ§
- Linker
Output π - Translating this is kind of useless. We donβt pass translation flags to the linker, so weβd just end up with inconsistent languages within the same diagnostic.
- Native
LibSearch πFallback - The fallback directories are passed to linker, but not used when rustc does the search, because in the latter case the set of fallback directories cannot always be determined consistently at the moment.
EnumsΒ§
- Rlib
Flavor π
FunctionsΒ§
- add_
apple_ πlink_ args - We need to communicate five things to the linker on Apple/Darwin targets:
- add_
apple_ πsdk - add_
c_ πstaticlib_ symbols - add_
dynamic_ πcrate - add_
late_ πlink_ args - Add arbitrary βlate linkβ args defined by the target spec. FIXME: Determine where exactly these args need to be inserted.
- add_
library_ πsearch_ dirs - Add sysroot and other globally set directories to the directory search list.
- add_
link_ πscript - Add a link script embedded in the target, if applicable.
- add_
linked_ πsymbol_ object - Add a synthetic object file that contains reference to all symbols that we want to expose to the linker.
- add_
lld_ πargs - When using the linker flavors opting in to
lld, add the necessary paths and arguments to invoke it: - add_
local_ πcrate_ allocator_ objects - Add object files for allocator code linked once for the whole crate tree.
- add_
local_ πcrate_ metadata_ objects - Add object files containing metadata for the current crate.
- add_
local_ πcrate_ regular_ objects - Add object files containing code from the current crate.
- add_
local_ πnative_ libraries - add_
native_ πlibs_ from_ crate - add_
order_ πindependent_ options - add_
post_ πlink_ args - Add arbitrary βpost-linkβ args defined by the target spec. FIXME: Determine where exactly these args need to be inserted.
- add_
post_ πlink_ objects - Add post-link object files defined by the target spec.
- add_
pre_ πlink_ args - Add arbitrary βpre-linkβ args defined by the target spec or from command line. FIXME: Determine where exactly these args need to be inserted.
- add_
pre_ πlink_ objects - Add pre-link object files defined by the target spec.
- add_
relro_ πargs - Add options making relocation sections in the produced ELF files read-only and suppressing lazy binding.
- add_
rpath_ πargs - Add library search paths used at runtime by dynamic linkers.
- add_
sanitizer_ πlibraries - add_
static_ πcrate - add_
upstream_ πnative_ libraries - add_
upstream_ πrust_ crates - add_
user_ πdefined_ link_ args - Add arbitrary βuser definedβ args defined from command line. FIXME: Determine where exactly these args need to be inserted.
- are_
upstream_ πrust_ objects_ already_ included - check_
externally_ πimplementable_ item_ linkage - collect_
natvis_ πvisualizers - detect_
self_ πcontained_ mingw - each_
linked_ rlib - eii_
impl_ πcrate_ name - ensure_
removed - escape_
linker_ πoutput - escape_
string π - exec_
linker π - find_
bundled_ πlibrary - If
libis a static library that is bundled into the rlib as a packed archive, returns the file name of that archive. ReturnsNonefor libraries that are instead unpacked into loose object files, or not bundled at all. - find_
native_ πstatic_ library - get_
apple_ πsdk_ root - get_
object_ πfile_ path - ignored_
for_ lto - Returns a boolean indicating whether the specified crate should be ignored during LTO.
- is_
macos_ πlinker - is_
msvc_ πlink_ exe - is_
windows_ πgnu_ clang - is_
windows_ πgnu_ ld - link_
binary - Performs the linkage portion of the compilation phase. This will generate all of the requested outputs for this compilation session.
- link_
dwarf_ πobject - Use
thorin(rust implementation of a dwarf packaging utility) to link DWARF objects into a DWARF package. - link_
natively π - Create a dynamic library or executable.
- link_
output_ πkind - link_
rlib π - Create an βrlibβ.
- link_
sanitizer_ πruntime - link_
staticlib π - Create a static archive.
- linker_
and_ flavor - This functions tries to determine the appropriate linker (and corresponding LinkerFlavor) to use
- linker_
with_ πargs - Produce the linker command line containing linker path and arguments.
- preserve_
objects_ πfor_ their_ debuginfo - Returns a pair of boolean indicating whether we should preserve the object and dwarf object files on the filesystem for their debug information. This is often useful with split-dwarf like schemes.
- print_
native_ πstatic_ libs - rehome_
lib_ πpath - rehome_
sysroot_ πlib_ dir - relevant_
lib π - report_
linker_ πoutput - self_
contained_ πcomponents - Various toolchain components used during linking are used from rustc distribution instead of being found somewhere on the host system. We only provide such support for a very limited number of targets.
- strip_
numeric_ πsuffix - strip_
with_ πexternal_ utility - try_
find_ πnative_ dynamic_ library - try_
find_ πnative_ static_ library - undecorate_
c_ πsymbol - walk_
native_ πlib_ search_ dirs - warn_
if_ πlinked_ with_ gold