about summary refs log tree commit diff
path: root/src/librustc_target
AgeCommit message (Collapse)AuthorLines
2018-05-19Use `Size` instead of `u64` in mir interpretationOliver Schneider-1/+1
2018-05-19Auto merge of #50709 - alexcrichton:revert-musl, r=sfacklerbors-35/+11
Revert #50105 until regression is fixed Discovered at https://github.com/rust-lang/rust/pull/50105#issuecomment-388630750 it looks like this caused a regression with i686 musl, so let's revert in the meantime while a fix is worked out
2018-05-18armebv7r-none-eabihf: default to ARM modePaolo Teti-1/+1
- remove +thumb2 that has not effect - remove -mthumb Tested on TMS570LS3137
2018-05-18Add armv6-unknown-netbsd-eabihf targetJonathan A. Kollasch-0/+35
2018-05-18Add armv7-unknown-netbsd-eabihf targetJonathan A. Kollasch-0/+36
2018-05-17Stabilise inclusive_range_methodsvarkor-1/+0
2018-05-17Revert "musl: don't use the included startfiles with -crt-static"Alex Crichton-21/+9
This reverts commit a5a875d17b34b61326d803eb2edea526d3bd6914.
2018-05-17Revert "musl: link crt{begin,end}.o from the system compiler"Alex Crichton-14/+2
This reverts commit 6d9154a830dd9773fe8a4e34e1fc3dfb1ca6f935.
2018-05-16Add target for Big-endian ARM Cortex-R4F/R5F MCUsPaolo Teti-0/+42
The ARM Real-Time (‘R’) profile provides high-performing processors for safety-critical environments.
2018-05-13Auto merge of #50704 - kennytm:rollup, r=kennytmbors-0/+33
Rollup of 8 pull requests Successful merges: - #50624 (fs::write: Add example writing a &str) - #50634 (Do not silently truncate offsets for `read_at`/`write_at` on emscripten) - #50644 (AppVeyor: Read back trace from crash dump on failure.) - #50661 (Ignore non .rs files for tidy libcoretest) - #50663 (rustc: Allow an edition's feature on that edition) - #50667 (rustc: Only suggest deleting `extern crate` if it works) - #50670 (rustc: Include semicolon when removing `extern crate`) - #50678 (Update openbsd targets) Failed merges:
2018-05-13Auto merge of #50622 - eddyb:make-room-for-ghosts, r=nikomatsakisbors-12/+1
rustc: leave space for fields of uninhabited types to allow partial initialization. Fixes #49298 by only collapsing uninhabited enum variants, and only if they only have ZST fields. Fixes #50442 incidentally (@nox's optimization didn't take into account uninhabited variants).
2018-05-12add aarch64-unknown-openbsd supportSébastien Marie-0/+32
2018-05-12openbsd-i686: use lld as linker by defaultSébastien Marie-0/+1
standard binutils on openbsd is too old to do proper job with i128 code.
2018-05-11Auto merge of #50105 - mixi:crt-included, r=alexcrichtonbors-11/+35
Use the correct crt*.o files when linking musl targets. This is supposed to support optionally using the system copy of musl libc instead of the included one if supported. This currently only affects the start files, which is enough to allow building rustc on musl targets. Most of the changes are analogous to crt-static. Excluding the start files is something musl based distributions usually patch into their copy of rustc: - https://github.com/alpinelinux/aports/blob/eb064c8/community/rust/musl-fix-linux_musl_base.patch - https://github.com/voidlinux/void-packages/blob/77400fc/srcpkgs/rust/patches/link-musl-dynamically.patch For third-party distributions that not yet carry those patches it would be nice if it was supported without the need to patch upstream sources. ## Reasons ### What breaks? Some start files were missed when originally writing the logic to swap in musl start files (gcc comes with its own start files, which are suppressed by -nostdlib, but not manually included later on). This caused #36710, which also affects rustc with the internal llvm copy or any other system libraries that need crtbegin/crtend. ### How is it fixed? The system linker already has all the logic to decide which start files to include, so we can just defer to it (except of course if it doesn't target musl). ### Why is it optional? In #40113 it was first tried to remove the start files, which broke compiling musl-targeting static binaries with a glibc-targeting compiler. This is why it eventually landed without removing the start files. Being an option side-steps the issue. ### Why are the start files still installed? This has the nice side-effect, that the produced rust-std-* binaries can still be used by on a glibc-targeting system with a rustc built against glibc. ## Does it work? With the following build script (using [musl-cross-make](https://github.com/richfelker/musl-cross-make)): https://shadowice.org/~mixi/rust-musl/build.sh, I was able to cross-compile a musl-host musl-targeting rustc on a glibc-based system. The resulting binaries are at https://shadowice.org/~mixi/rust-musl/binaries/. This also requires #50103 and #50104 (which are also applied to the branch the build script uses).
2018-05-10rustc: leave space for fields of uninhabited types to allow partial ↵Eduard-Mihai Burtescu-12/+1
initialization.
2018-05-06issue-49938: Reference tagged unions discr(iminant) as tagSamuel Wilson-3/+3
Refer https://github.com/rust-lang/rust/issues/49938 Previously tagged unions' tag was refered to as a discr(iminant). Here the changes use tag instead which is the correct terminology when refering to the memory representation of tagged unions.
2018-05-04Add eabi suffix to armv5te musl targetHarm Berntsen-1/+1
2018-05-03Add armv5te-unknown-linux-musl targetHarm Berntsen-0/+39
2018-05-01Reduce the maximum alignment to repr(align(1 << 29))varkor-4/+4
This brings it into line with LLVM's maximum permitted alignment.
2018-05-01musl: link crt{begin,end}.o from the system compilerJohannes Nixdorf-2/+14
This fixes #36710 with +crt-static. We only need to add crtbegin.o and crtend.o as we only do static linking with the bundled start files and there is no static-pie support in rustc yet.
2018-05-01Auto merge of #49724 - kennytm:range-inc-start-end-methods, r=Kimundibors-3/+3
Introduce RangeInclusive::{new, start, end} methods and make the fields private. cc #49022
2018-05-01Don’t eliminate frame pointers on apple by defaultSimonas Kazlauskas-0/+2
2018-05-01Removed direct field usage of RangeInclusive in rustc itself.kennytm-3/+3
2018-04-29musl: don't use the included startfiles with -crt-staticJohannes Nixdorf-9/+21
This fixes #36710 with -crt-static.
2018-04-26Emit range metadata on calls returning scalars (fixes #50157)Anthony Ramine-1/+19
2018-04-26Fixed tidy errors.Irina Popa-34/+34
2018-04-26rustc_target: move in syntax::abi and flip dependency.Irina Popa-8/+148
2018-04-26rustc_target: move in cabi_* from rustc_trans.Irina Popa-214/+2162
2018-04-26rustc_trans: generalize cabi_* to any context type.Irina Popa-3/+13
2018-04-26rustc_target: move for_variant and field TyLayout methods to a trait.Irina Popa-1/+59
2018-04-26rustc_target: move LayoutOf's type parameter to an associated type.Irina Popa-3/+4
2018-04-26rustc_target: move in type definitions from rustc_trans::abi.Irina Popa-3/+220
2018-04-26rustc_target: move in type definitions from ty::layout.Irina Popa-0/+765
2018-04-26Rename rustc_back::target to rustc_target::spec.Irina Popa-0/+5213