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 finalize(&mut self);
fn add_eh_frame_header(&mut self) { ... }
fn add_no_exec(&mut self) { ... }
fn add_as_needed(&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 cmd(&mut self) -> &mut Command[src]
fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &Path)[src]
fn link_dylib(&mut self, lib: Symbol, verbatim: bool, as_needed: bool)[src]
fn link_rust_dylib(&mut self, lib: Symbol, path: &Path)[src]
fn link_framework(&mut self, framework: Symbol, as_needed: bool)[src]
fn link_staticlib(&mut self, lib: Symbol, verbatim: bool)[src]
fn link_rlib(&mut self, lib: &Path)[src]
fn link_whole_rlib(&mut self, lib: &Path)[src]
fn link_whole_staticlib(
&mut self,
lib: Symbol,
verbatim: bool,
search_path: &[PathBuf]
)[src]
&mut self,
lib: Symbol,
verbatim: bool,
search_path: &[PathBuf]
)
fn include_path(&mut self, path: &Path)[src]
fn framework_path(&mut self, path: &Path)[src]
fn output_filename(&mut self, path: &Path)[src]
fn add_object(&mut self, path: &Path)[src]
fn gc_sections(&mut self, keep_metadata: bool)[src]
fn no_gc_sections(&mut self)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn optimize(&mut self)[src]
fn pgo_gen(&mut self)[src]
fn control_flow_guard(&mut self)[src]
fn debuginfo(&mut self, strip: Strip)[src]
fn no_crt_objects(&mut self)[src]
fn no_default_libraries(&mut self)[src]
fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType)[src]
fn subsystem(&mut self, subsystem: &str)[src]
fn group_start(&mut self)[src]
fn group_end(&mut self)[src]
fn linker_plugin_lto(&mut self)[src]
fn finalize(&mut self)[src]
Provided methods
fn add_eh_frame_header(&mut self)[src]
fn add_no_exec(&mut self)[src]
fn add_as_needed(&mut self)[src]
Implementations
impl dyn Linker + '_[src]
impl dyn Linker + '_[src]Implementors
impl<'a> Linker for EmLinker<'a>[src]
impl<'a> Linker for EmLinker<'a>[src]fn cmd(&mut self) -> &mut Command[src]
fn set_output_kind(
&mut self,
_output_kind: LinkOutputKind,
_out_filename: &Path
)[src]
&mut self,
_output_kind: LinkOutputKind,
_out_filename: &Path
)
fn include_path(&mut self, path: &Path)[src]
fn link_staticlib(&mut self, lib: Symbol, _verbatim: bool)[src]
fn output_filename(&mut self, path: &Path)[src]
fn add_object(&mut self, path: &Path)[src]
fn link_dylib(&mut self, lib: Symbol, verbatim: bool, _as_needed: bool)[src]
fn link_whole_staticlib(
&mut self,
lib: Symbol,
verbatim: bool,
_search_path: &[PathBuf]
)[src]
&mut self,
lib: Symbol,
verbatim: bool,
_search_path: &[PathBuf]
)
fn link_whole_rlib(&mut self, lib: &Path)[src]
fn link_rust_dylib(&mut self, lib: Symbol, _path: &Path)[src]
fn link_rlib(&mut self, lib: &Path)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn framework_path(&mut self, _path: &Path)[src]
fn link_framework(&mut self, _framework: Symbol, _as_needed: bool)[src]
fn gc_sections(&mut self, _keep_metadata: bool)[src]
fn no_gc_sections(&mut self)[src]
fn optimize(&mut self)[src]
fn pgo_gen(&mut self)[src]
fn control_flow_guard(&mut self)[src]
fn debuginfo(&mut self, _strip: Strip)[src]
fn no_crt_objects(&mut self)[src]
fn no_default_libraries(&mut self)[src]
fn export_symbols(&mut self, _tmpdir: &Path, crate_type: CrateType)[src]
fn subsystem(&mut self, _subsystem: &str)[src]
fn finalize(&mut self)[src]
fn group_start(&mut self)[src]
fn group_end(&mut self)[src]
fn linker_plugin_lto(&mut self)[src]
impl<'a> Linker for GccLinker<'a>[src]
impl<'a> Linker for GccLinker<'a>[src]fn cmd(&mut self) -> &mut Command[src]
fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &Path)[src]
fn link_dylib(&mut self, lib: Symbol, verbatim: bool, as_needed: bool)[src]
fn link_staticlib(&mut self, lib: Symbol, verbatim: bool)[src]
fn link_rlib(&mut self, lib: &Path)[src]
fn include_path(&mut self, path: &Path)[src]
fn framework_path(&mut self, path: &Path)[src]
fn output_filename(&mut self, path: &Path)[src]
fn add_object(&mut self, path: &Path)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn link_rust_dylib(&mut self, lib: Symbol, _path: &Path)[src]
fn link_framework(&mut self, framework: Symbol, as_needed: bool)[src]
fn link_whole_staticlib(
&mut self,
lib: Symbol,
verbatim: bool,
search_path: &[PathBuf]
)[src]
&mut self,
lib: Symbol,
verbatim: bool,
search_path: &[PathBuf]
)
fn link_whole_rlib(&mut self, lib: &Path)[src]
fn gc_sections(&mut self, keep_metadata: bool)[src]
fn no_gc_sections(&mut self)[src]
fn optimize(&mut self)[src]
fn pgo_gen(&mut self)[src]
fn control_flow_guard(&mut self)[src]
fn debuginfo(&mut self, strip: Strip)[src]
fn no_crt_objects(&mut self)[src]
fn no_default_libraries(&mut self)[src]
fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType)[src]
fn subsystem(&mut self, subsystem: &str)[src]
fn finalize(&mut self)[src]
fn group_start(&mut self)[src]
fn group_end(&mut self)[src]
fn linker_plugin_lto(&mut self)[src]
fn add_eh_frame_header(&mut self)[src]
fn add_no_exec(&mut self)[src]
fn add_as_needed(&mut self)[src]
impl<'a> Linker for MsvcLinker<'a>[src]
impl<'a> Linker for MsvcLinker<'a>[src]fn cmd(&mut self) -> &mut Command[src]
fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &Path)[src]
fn link_rlib(&mut self, lib: &Path)[src]
fn add_object(&mut self, path: &Path)[src]
fn gc_sections(&mut self, _keep_metadata: bool)[src]
fn no_gc_sections(&mut self)[src]
fn link_dylib(&mut self, lib: Symbol, verbatim: bool, _as_needed: bool)[src]
fn link_rust_dylib(&mut self, lib: Symbol, path: &Path)[src]
fn link_staticlib(&mut self, lib: Symbol, verbatim: bool)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn no_crt_objects(&mut self)[src]
fn no_default_libraries(&mut self)[src]
fn include_path(&mut self, path: &Path)[src]
fn output_filename(&mut self, path: &Path)[src]
fn framework_path(&mut self, _path: &Path)[src]
fn link_framework(&mut self, _framework: Symbol, _as_needed: bool)[src]
fn link_whole_staticlib(
&mut self,
lib: Symbol,
verbatim: bool,
_search_path: &[PathBuf]
)[src]
&mut self,
lib: Symbol,
verbatim: bool,
_search_path: &[PathBuf]
)
fn link_whole_rlib(&mut self, path: &Path)[src]
fn optimize(&mut self)[src]
fn pgo_gen(&mut self)[src]
fn control_flow_guard(&mut self)[src]
fn debuginfo(&mut self, strip: Strip)[src]
fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType)[src]
fn subsystem(&mut self, subsystem: &str)[src]
fn finalize(&mut self)[src]
fn group_start(&mut self)[src]
fn group_end(&mut self)[src]
fn linker_plugin_lto(&mut self)[src]
fn add_no_exec(&mut self)[src]
impl<'a> Linker for PtxLinker<'a>[src]
impl<'a> Linker for PtxLinker<'a>[src]fn cmd(&mut self) -> &mut Command[src]
fn set_output_kind(
&mut self,
_output_kind: LinkOutputKind,
_out_filename: &Path
)[src]
&mut self,
_output_kind: LinkOutputKind,
_out_filename: &Path
)
fn link_rlib(&mut self, path: &Path)[src]
fn link_whole_rlib(&mut self, path: &Path)[src]
fn include_path(&mut self, path: &Path)[src]
fn debuginfo(&mut self, _strip: Strip)[src]
fn add_object(&mut self, path: &Path)[src]
fn optimize(&mut self)[src]
fn output_filename(&mut self, path: &Path)[src]
fn finalize(&mut self)[src]
fn link_dylib(&mut self, _lib: Symbol, _verbatim: bool, _as_needed: bool)[src]
fn link_rust_dylib(&mut self, _lib: Symbol, _path: &Path)[src]
fn link_staticlib(&mut self, _lib: Symbol, _verbatim: bool)[src]
fn link_whole_staticlib(
&mut self,
_lib: Symbol,
_verbatim: bool,
_search_path: &[PathBuf]
)[src]
&mut self,
_lib: Symbol,
_verbatim: bool,
_search_path: &[PathBuf]
)
fn framework_path(&mut self, _path: &Path)[src]
fn link_framework(&mut self, _framework: Symbol, _as_needed: bool)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn gc_sections(&mut self, _keep_metadata: bool)[src]
fn no_gc_sections(&mut self)[src]
fn pgo_gen(&mut self)[src]
fn no_crt_objects(&mut self)[src]
fn no_default_libraries(&mut self)[src]
fn control_flow_guard(&mut self)[src]
fn export_symbols(&mut self, _tmpdir: &Path, _crate_type: CrateType)[src]
fn subsystem(&mut self, _subsystem: &str)[src]
fn group_start(&mut self)[src]
fn group_end(&mut self)[src]
fn linker_plugin_lto(&mut self)[src]
impl<'a> Linker for WasmLd<'a>[src]
impl<'a> Linker for WasmLd<'a>[src]fn cmd(&mut self) -> &mut Command[src]
fn set_output_kind(&mut self, output_kind: LinkOutputKind, _out_filename: &Path)[src]
fn link_dylib(&mut self, lib: Symbol, _verbatim: bool, _as_needed: bool)[src]
fn link_staticlib(&mut self, lib: Symbol, _verbatim: bool)[src]
fn link_rlib(&mut self, lib: &Path)[src]
fn include_path(&mut self, path: &Path)[src]
fn framework_path(&mut self, _path: &Path)[src]
fn output_filename(&mut self, path: &Path)[src]
fn add_object(&mut self, path: &Path)[src]
fn full_relro(&mut self)[src]
fn partial_relro(&mut self)[src]
fn no_relro(&mut self)[src]
fn link_rust_dylib(&mut self, lib: Symbol, _path: &Path)[src]
fn link_framework(&mut self, _framework: Symbol, _as_needed: bool)[src]
fn link_whole_staticlib(
&mut self,
lib: Symbol,
_verbatim: bool,
_search_path: &[PathBuf]
)[src]
&mut self,
lib: Symbol,
_verbatim: bool,
_search_path: &[PathBuf]
)