1. 09 5月, 2016 1 次提交
  2. 19 4月, 2016 1 次提交
  3. 19 10月, 2015 1 次提交
    • V
      Don't use GCC's startup objects (crtbegin.o/crtend.o); build and use our own... · bd0cf1ba
      Vadim Chugunov 提交于
      Don't use GCC's startup objects (crtbegin.o/crtend.o); build and use our own (for now on for -windows-gnu target only).
      Since it isn't possible to disable linkage of just GCC startup objects, we now need logic for finding libc installation directory and copying the required startup files (e.g. crt2.o) to rustlib directory.
      Bonus change: use the `-nodefaultlibs` flag on Windows, thus paving the way to direct linker invocation.
      bd0cf1ba
  4. 24 9月, 2015 1 次提交
    • S
      rustc: Add target_vendor for target triples · af68cdfe
      Sebastian Wicki 提交于
      This adds a new target property, `target_vendor` which can be used as a
      matcher for conditional compilation. The vendor is part of the autoconf
      target triple: <arch><sub>-<vendor>-<os>-<env>
      
      The default value for `target_vendor` is "unknown".
      
      Matching against the `target_vendor` with `#[cfg]` is currently feature
      gated as `cfg_target_vendor`.
      af68cdfe
  5. 31 7月, 2015 1 次提交
  6. 17 7月, 2015 1 次提交
    • A
      trans: Clean up handling the LLVM data layout · 958d5638
      Alex Crichton 提交于
      Turns out for OSX our data layout was subtly wrong and the LLVM update must have
      exposed this. Instead of fixing this I've removed all data layouts from the
      compiler to just use the defaults that LLVM provides for all targets. All data
      layouts (and a number of dead modules) are removed from the compiler here.
      Custom target specifications can still provide a custom data layout, but it is
      now an optional key as the default will be used if one isn't specified.
      958d5638
  7. 28 4月, 2015 1 次提交
    • A
      rustc: Add target_env for triples by default · ba2380d7
      Alex Crichton 提交于
      This adds a new `#[cfg]` matcher against the `target_env` property of the
      destination target triple. For example all windows triples today end with `-gnu`
      but we will also hopefully support non-`gnu` targets for Windows, at which point
      we'll need to differentiate between the two. This new `target_env` matches is
      provided and filled in with the target's environment name.
      
      Currently the only non-empty value of this name is `gnu`, but `musl` will be
      shortly added for the linux triples.
      ba2380d7
  8. 11 1月, 2015 1 次提交
  9. 08 1月, 2015 1 次提交
  10. 28 12月, 2014 1 次提交
  11. 04 11月, 2014 1 次提交
    • C
      Implement flexible target specification · 6b130e3d
      Corey Richardson 提交于
      Removes all target-specific knowledge from rustc. Some targets have changed
      during this, but none of these should be very visible outside of
      cross-compilation. The changes make our targets more consistent.
      
      iX86-unknown-linux-gnu is now only available as i686-unknown-linux-gnu. We
      used to accept any value of X greater than 1. i686 was released in 1995, and
      should encompass the bare minimum of what Rust supports on x86 CPUs.
      
      The only two windows targets are now i686-pc-windows-gnu and
      x86_64-pc-windows-gnu.
      
      The iOS target has been renamed from arm-apple-ios to arm-apple-darwin.
      
      A complete list of the targets we accept now:
      
      arm-apple-darwin
      arm-linux-androideabi
      arm-unknown-linux-gnueabi
      arm-unknown-linux-gnueabihf
      
      i686-apple-darwin
      i686-pc-windows-gnu
      i686-unknown-freebsd
      i686-unknown-linux-gnu
      
      mips-unknown-linux-gnu
      mipsel-unknown-linux-gnu
      
      x86_64-apple-darwin
      x86_64-unknown-freebsd
      x86_64-unknown-linux-gnu
      x86_64-pc-windows-gnu
      
      Closes #16093
      
      [breaking-change]
      6b130e3d