Skip to content
  • Alex Crichton's avatar
    Switch to rust-lang-nursery/compiler-builtins · 7e6c9f36
    Alex Crichton authored
    This commit migrates the in-tree `libcompiler_builtins` to the upstream version
    at https://github.com/rust-lang-nursery/compiler-builtins. The upstream version
    has a number of intrinsics written in Rust and serves as an in-progress rewrite
    of compiler-rt into Rust. Additionally it also contains all the existing
    intrinsics defined in `libcompiler_builtins` for 128-bit integers.
    
    It's been the intention since the beginning to make this transition but
    previously it just lacked the manpower to get done. As this PR likely shows it
    wasn't a trivial integration! Some highlight changes are:
    
    * The PR rust-lang-nursery/compiler-builtins#166 contains a number of fixes
      across platforms and also some refactorings to make the intrinsics easier to
      read. The additional testing added there also fixed a number of integration
      issues when pulling the repository into this tree.
    
    * LTO with the compiler-builtins crate was fixed to link in the entire crate
      after the LTO process as these intrinsics are excluded from LTO.
    
    * Treatment of hidden symbols was updated as previously the
      `#![compiler_builtins]` crate would mark all symbol *imports* as hidden
      whereas it was only intended to mark *exports* as hidden.
    7e6c9f36