Trait rustc_codegen_ssa::back::linker::Linker
source · pub trait Linker {
Show 31 methods
fn cmd(&mut self) -> &mut Command;
fn set_output_kind(
&mut self,
output_kind: LinkOutputKind,
out_filename: &Path
);
fn link_dylib(&mut self, lib: &str, verbatim: bool, as_needed: bool);
fn link_rust_dylib(&mut self, lib: &str, path: &Path);
fn link_framework(&mut self, framework: &str, as_needed: bool);
fn link_staticlib(&mut self, lib: &str, verbatim: bool);
fn link_rlib(&mut self, lib: &Path);
fn link_whole_rlib(&mut self, lib: &Path);
fn link_whole_staticlib(
&mut self,
lib: &str,
verbatim: bool,
search_path: &[PathBuf]
);
fn include_path(&mut self, path: &Path);
fn framework_path(&mut self, path: &Path);
fn output_filename(&mut self, path: &Path);
fn add_object(&mut self, path: &Path);
fn gc_sections(&mut self, keep_metadata: bool);
fn no_gc_sections(&mut self);
fn full_relro(&mut self);
fn partial_relro(&mut self);
fn no_relro(&mut self);
fn optimize(&mut self);
fn pgo_gen(&mut self);
fn control_flow_guard(&mut self);
fn debuginfo(&mut self, strip: Strip, natvis_debugger_visualizers: &[PathBuf]);
fn no_crt_objects(&mut self);
fn no_default_libraries(&mut self);
fn export_symbols(
&mut self,
tmpdir: &Path,
crate_type: CrateType,
symbols: &[String]
);
fn subsystem(&mut self, subsystem: &str);
fn linker_plugin_lto(&mut self);
fn add_eh_frame_header(&mut self) { ... }
fn add_no_exec(&mut self) { ... }
fn add_as_needed(&mut self) { ... }
fn reset_per_library_state(&mut self) { ... }
}
Expand description
Linker abstraction used by back::link
to build up the command to invoke a
linker.
This trait is the total list of requirements needed by back::link
and
represents the meaning of each option being passed down. This trait is then
used to dispatch on whether a GNU-like linker (generally ld.exe
) or an
MSVC linker (e.g., link.exe
) is being used.
Required Methods
source
fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &Path)
source
fn link_dylib(&mut self, lib: &str, verbatim: bool, as_needed: bool)
source
fn link_rust_dylib(&mut self, lib: &str, path: &Path)
source
fn link_framework(&mut self, framework: &str, as_needed: bool)
source
fn link_staticlib(&mut self, lib: &str, verbatim: bool)
source
fn link_whole_rlib(&mut self, lib: &Path)
sourcefn link_whole_staticlib(
fn link_whole_staticlib(
&mut self,
lib: &str,
verbatim: bool,
search_path: &[PathBuf]
)
source
fn include_path(&mut self, path: &Path)
source
fn framework_path(&mut self, path: &Path)
source
fn output_filename(&mut self, path: &Path)
source
fn add_object(&mut self, path: &Path)
source
fn gc_sections(&mut self, keep_metadata: bool)
source
fn no_gc_sections(&mut self)
source
fn full_relro(&mut self)
source
fn partial_relro(&mut self)
source
fn control_flow_guard(&mut self)
source
fn no_crt_objects(&mut self)
source
fn no_default_libraries(&mut self)
sourcefn export_symbols(
fn export_symbols(
&mut self,
tmpdir: &Path,
crate_type: CrateType,
symbols: &[String]
)
source
fn linker_plugin_lto(&mut self)
Provided Methods
source
fn add_eh_frame_header(&mut self)
source
fn add_no_exec(&mut self)
source
fn add_as_needed(&mut self)
source