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

pub trait Linker {
    pub fn cmd(&mut self) -> &mut Command;
pub fn set_output_kind(
        &mut self,
        output_kind: LinkOutputKind,
        out_filename: &Path
    );
pub fn link_dylib(&mut self, lib: Symbol);
pub fn link_rust_dylib(&mut self, lib: Symbol, path: &Path);
pub fn link_framework(&mut self, framework: Symbol);
pub fn link_staticlib(&mut self, lib: Symbol);
pub fn link_rlib(&mut self, lib: &Path);
pub fn link_whole_rlib(&mut self, lib: &Path);
pub fn link_whole_staticlib(&mut self, lib: Symbol, search_path: &[PathBuf]);
pub fn include_path(&mut self, path: &Path);
pub fn framework_path(&mut self, path: &Path);
pub fn output_filename(&mut self, path: &Path);
pub fn add_object(&mut self, path: &Path);
pub fn gc_sections(&mut self, keep_metadata: bool);
pub fn full_relro(&mut self);
pub fn partial_relro(&mut self);
pub fn no_relro(&mut self);
pub fn optimize(&mut self);
pub fn pgo_gen(&mut self);
pub fn control_flow_guard(&mut self);
pub fn debuginfo(&mut self, strip: Strip);
pub fn no_crt_objects(&mut self);
pub fn no_default_libraries(&mut self);
pub fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType);
pub fn subsystem(&mut self, subsystem: &str);
pub fn group_start(&mut self);
pub fn group_end(&mut self);
pub fn linker_plugin_lto(&mut self);
pub fn finalize(&mut self); pub 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

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

pub fn set_output_kind(
    &mut self,
    output_kind: LinkOutputKind,
    out_filename: &Path
)
[src]

pub fn include_path(&mut self, path: &Path)[src]

pub fn framework_path(&mut self, path: &Path)[src]

pub fn output_filename(&mut self, path: &Path)[src]

pub fn add_object(&mut self, path: &Path)[src]

pub fn gc_sections(&mut self, keep_metadata: bool)[src]

pub fn full_relro(&mut self)[src]

pub fn partial_relro(&mut self)[src]

pub fn no_relro(&mut self)[src]

pub fn optimize(&mut self)[src]

pub fn pgo_gen(&mut self)[src]

pub fn control_flow_guard(&mut self)[src]

pub fn debuginfo(&mut self, strip: Strip)[src]

pub fn no_crt_objects(&mut self)[src]

pub fn no_default_libraries(&mut self)[src]

pub fn export_symbols(&mut self, tmpdir: &Path, crate_type: CrateType)[src]

pub fn subsystem(&mut self, subsystem: &str)[src]

pub fn group_start(&mut self)[src]

pub fn group_end(&mut self)[src]

pub fn linker_plugin_lto(&mut self)[src]

pub fn finalize(&mut self)[src]

Loading content...

Provided methods

pub 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...