Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Emscripten-specific linker #39490

Merged
merged 3 commits into from
Feb 11, 2017
Merged

Add Emscripten-specific linker #39490

merged 3 commits into from
Feb 11, 2017

Commits on Feb 10, 2017

  1. Add Emscripten-specific linker

    It claims to accept most GNU linker options, but in fact most of them
    have no effect and instead it requires some special options which are
    easier to handle in a separate trait.
    
    Currently added:
     - `export_symbols`: works on executables as special Emscripten case
    since staticlibs/dylibs aren't compiled to JS, while exports are
    required to be accessible from JS.
    Fixes rust-lang#39171.
     - `optimize` - translates Rust's optimization level to Emscripten
    optimization level (whether passed via `-C opt-level=...` or `-O...`).
    Fixes rust-lang#36899.
     - `debuginfo` - translates debug info; Emscripten has 5 debug levels
    while Rust has 3, so chose to translate `-C debuginfo=1` to `-g3`
    (preserves whitespace, variable and function names for easy debugging).
    Fixes rust-lang#36901.
     - `no_default_libraries` - tells Emscripten to exlude `memcpy` and co.
    RReverser committed Feb 10, 2017
    Configuration menu
    Copy the full SHA
    eed6168 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    84c2a67 View commit details
    Browse the repository at this point in the history
  3. Disable memory init file until further notice

    It's support is currently too buggy in both Rust tests and Cargo.
    RReverser committed Feb 10, 2017
    Configuration menu
    Copy the full SHA
    f35b598 View commit details
    Browse the repository at this point in the history