Trait rustc_codegen_ssa::back::linker::Linker[−][src]

pub trait Linker {
    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);
fn link_rust_dylib(&mut self, lib: Symbol, path: &Path);
fn link_framework(&mut self, framework: Symbol);
fn link_staticlib(&mut self, lib: Symbol);
fn link_rlib(&mut self, lib: &Path);
fn link_whole_rlib(&mut self, lib: &Path);
fn link_whole_staticlib(&mut self, lib: Symbol, 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 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) { ... } }

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 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 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]

Loading content...

Provided methods

fn add_eh_frame_header(&mut self)[src]

Loading content...

Implementations

impl dyn Linker + '_[src]

pub fn arg(&mut self, arg: impl AsRef<OsStr>)[src]

pub fn args(&mut self, args: impl IntoIterator<Item: AsRef<OsStr>>)[src]

pub fn take_cmd(&mut self) -> Command[src]

Implementors

impl<'a> Linker for EmLinker<'a>[src]

impl<'a> Linker for GccLinker<'a>[src]

impl<'a> Linker for MsvcLinker<'a>[src]

impl<'a> Linker for PtxLinker<'a>[src]

impl<'a> Linker for WasmLd<'a>[src]

Loading content...