rustc_codegen_ssa::back

Module link

Source

EnumsΒ§

RlibFlavor πŸ”’

FunctionsΒ§

add_apple_link_args πŸ”’
We need to communicate five things to the linker on Apple/Darwin targets:
add_apple_sdk πŸ”’
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 πŸ”’
collate_raw_dylibs πŸ”’
Extract all symbols defined in raw-dylib libraries, collated by library name.
collect_natvis_visualizers πŸ”’
create_dll_import_libs πŸ”’
detect_self_contained_mingw πŸ”’
each_linked_rlib
ensure_removed
escape_linker_output πŸ”’
escape_string πŸ”’
exec_linker πŸ”’
get_apple_sdk_root πŸ”’
get_object_file_path πŸ”’
ignored_for_lto
Returns a boolean indicating whether the specified crate should be ignored during LTO.
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 πŸ”’
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_with_external_utility πŸ”’