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

Loading content...

Provided methods

fn add_eh_frame_header(&mut self)[src]

fn add_no_exec(&mut self)[src]

fn add_as_needed(&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]

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 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 framework_path(&mut self, _path: &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]

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

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

fn set_output_kind(&mut self, output_kind: LinkOutputKind, out_filename: &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 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 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]

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 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 framework_path(&mut self, _path: &Path)[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]

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 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 optimize(&mut self)[src]

fn pgo_gen(&mut self)[src]

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

fn control_flow_guard(&mut self)[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]

Loading content...