about summary refs log tree commit diff
path: root/src/librustc/back/mips.rs
AgeCommit message (Collapse)AuthorLines
2014-07-14Extract librustc_back from librustcBrian Anderson-72/+0
2014-06-12Better dylib skipping based on Alex Crichton codeValerii Hiora-5/+0
2014-06-12Basic iOS supportValerii Hiora-0/+8
2014-05-27std: Rename strbuf operations to stringRicho Healey-7/+7
[breaking-change]
2014-05-24core: rename strbuf::StrBuf to string::StringRicho Healey-1/+1
[breaking-change]
2014-05-12librustc: Remove all uses of `~str` from librustc.Patrick Walton-28/+29
2014-05-11Reorganise driver code.Nick Cameron-2/+2
The goal of this refactoring is to make the rustc driver code easier to understand and use. Since this is as close to an API as we have, I think it is important that it is nice. On getting stuck in, I found that there wasn't as much to change as I'd hoped to make the stage... fns easier to use by tools. This patch only moves code around - mostly just moving code to different files, but a few extracted method refactorings too. To summarise the changes: I added driver::config which handles everything about configuring the compiler. driver::session now just defines and builds session objects. I moved driver code from librustc/lib.rs to librustc/driver/mod.rs so all the code is one place. I extracted methods to make emulating the compiler without being the compiler a little easier. Within the driver directory, I moved code around to more logically fit in the modules.
2014-04-18Replace all ~"" with "".to_owned()Richo Healey-6/+6
2014-03-20Removing imports of std::vec_ng::VecAlex Crichton-1/+0
It's now in the prelude.
2014-03-20rename std::vec_ng -> std::vecDaniel Micay-1/+1
Closes #12771
2014-03-14fix MIPS targetJyun-Yan You-5/+5
I ignored AtomicU64 methods on MIPS target because libgcc doesn't implement MIPS32 64-bit atomic operations. Otherwise it would cause link failure.
2014-03-08librustc: Fix up fallout from the automatic conversion.Felix S. Klock II-0/+1
2014-03-08librustc: Automatically change uses of `~[T]` to `Vec<T>` in rustc.Patrick Walton-1/+1
2013-11-29Add generation of static libraries to rustcAlex Crichton-1/+1
This commit implements the support necessary for generating both intermediate and result static rust libraries. This is an implementation of my thoughts in https://mail.mozilla.org/pipermail/rust-dev/2013-November/006686.html. When compiling a library, we still retain the "lib" option, although now there are "rlib", "staticlib", and "dylib" as options for crate_type (and these are stackable). The idea of "lib" is to generate the "compiler default" instead of having too choose (although all are interchangeable). For now I have left the "complier default" to be a dynamic library for size reasons. Of the rust libraries, lib{std,extra,rustuv} will bootstrap with an rlib/dylib pair, but lib{rustc,syntax,rustdoc,rustpkg} will only be built as a dynamic object. I chose this for size reasons, but also because you're probably not going to be embedding the rustc compiler anywhere any time soon. Other than the options outlined above, there are a few defaults/preferences that are now opinionated in the compiler: * If both a .dylib and .rlib are found for a rust library, the compiler will prefer the .rlib variant. This is overridable via the -Z prefer-dynamic option * If generating a "lib", the compiler will generate a dynamic library. This is overridable by explicitly saying what flavor you'd like (rlib, staticlib, dylib). * If no options are passed to the command line, and no crate_type is found in the destination crate, then an executable is generated With this change, you can successfully build a rust program with 0 dynamic dependencies on rust libraries. There is still a dynamic dependency on librustrt, but I plan on removing that in a subsequent commit. This change includes no tests just yet. Our current testing infrastructure/harnesses aren't very amenable to doing flavorful things with linking, so I'm planning on adding a new mode of testing which I believe belongs as a separate commit. Closes #552
2013-11-09Add a "system" ABIAlex Crichton-7/+7
This adds an other ABI option which allows a custom selection over the target architecture and OS. The only current candidate for this change is that kernel32 on win32 uses stdcall, but on win64 it uses the cdecl calling convention. Otherwise everywhere else this is defined as using the Cdecl calling convention. cc #10049 Closes #8774
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-7/+7
2013-08-24librustc: Always use session target triple.Luqman Aden-8/+2
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-20/+20
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-11/+0
2013-03-03rustc: implement MIPS O32 ABIJyun-Yan You-1/+1
2013-03-03rustc: MIPS32 supportJyun-Yan You-0/+85