Trait rustc_codegen_ssa::back::linker::Linker [−][src]
pub trait Linker {
Show 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: Symbol, verbatim: bool, as_needed: bool);
fn link_rust_dylib(&mut self, lib: Symbol, path: &Path);
fn link_framework(&mut self, framework: Symbol, as_needed: bool);
fn link_staticlib(&mut self, lib: Symbol, verbatim: bool);
fn link_rlib(&mut self, lib: &Path);
fn link_whole_rlib(&mut self, lib: &Path);
fn link_whole_staticlib(
&mut self,
lib: Symbol,
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);
fn no_crt_objects(&mut self);
fn no_default_libraries(&mut self);
fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType);
fn subsystem(&mut self, subsystem: &str);
fn group_start(&mut self);
fn group_end(&mut self);
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
fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &Path)fn link_dylib(&mut self, lib: Symbol, verbatim: bool, as_needed: bool)fn link_rust_dylib(&mut self, lib: Symbol, path: &Path)fn link_framework(&mut self, framework: Symbol, as_needed: bool)fn link_staticlib(&mut self, lib: Symbol, verbatim: bool)fn link_whole_rlib(&mut self, lib: &Path)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 control_flow_guard(&mut self)fn no_crt_objects(&mut self)fn no_default_libraries(&mut self)fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType)fn group_start(&mut self)fn linker_plugin_lto(&mut self)Provided methods
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)