Commit Graph

527 Commits

Author SHA1 Message Date
Amanieu d'Antras
e8ea848785 Fix argument order for __sync_val_compare_and_swap 2017-12-23 08:45:25 +01:00
bors
000d06a57a Auto merge of #218 - Amanieu:blx_fix, r=alexcrichton
Fix __kuser_cmpxchg inline asm

The wrong register was passed to BLX. However I just changed them to normal function calls to simplify things.
2017-12-20 06:04:26 +00:00
Amanieu d'Antras
0fe7c79389 Replace inline asm with function calls in __kuser_cmpxchg and __kuser_memory_barrier 2017-12-20 01:57:05 +00:00
bors
0633d73c55 Auto merge of #215 - alexcrichton:fix-ci, r=alexcrichton
Fix nightly CI

Currently we're getting lots of errors about duplicate lang items so deal with
this by `#[cfg_attr]`'ing off the lang item attribute in tests.
2017-12-08 16:20:20 +00:00
Alex Crichton
a6f7dfd2fd Fix nightly CI
Currently we're getting lots of errors about duplicate lang items so deal with
this by `#[cfg_attr]`'ing off the lang item attribute in tests.
2017-12-08 08:19:28 -08:00
bors
200c94eebf Auto merge of #212 - tamird:fomit-frame-pointer-not-supported-arm, r=alexcrichton
Avoid warning spew

...when the compiler doesn't support '-fomit-frame-pointer' on the
target architecture.
2017-11-28 17:31:37 +00:00
Tamir Duberstein
55e57a3762
Avoid warning spew
...when the compiler doesn't support '-fomit-frame-pointer' on the
target architecture.
2017-11-27 17:41:54 -05:00
bors
18feaccbfd Auto merge of #211 - haellowyyn:fix-multi-definition-of-mulsf3, r=alexcrichton
Remove mulsf3.c and muldf3.c from compiler-rt.

mulsf3 and muldf3 have Rust implementations since 8970485. This PR removes the C implementations to avoid conflicts.

Without this I wasn't able to compile the crate with the "c" feature enabled, the errors being
`multiple definition of '__muldf3'` and `multiple definition of '__mulsf3'`.
2017-11-26 21:10:30 +00:00
Jan Teske
047406083a Remove mulsf3.c and muldf3.c from compiler-rt.
mulsf3 and muldf3 have Rust implementations since 8970485. Remove the
C implementations to avoid conflicts.
2017-11-26 21:53:57 +01:00
Alex Crichton
60d949ba1d
Merge pull request #210 from scottmcm/add-128bit-lang-items
Implement all the 128-bit operator lang items (Rust 45676 part 2)
2017-11-26 09:37:52 -06:00
Scott McMurray
ba750103a3 Another attempt at making MIPS happy
(I really don't understand how arithmetic makes it segfault...)
2017-11-25 07:00:26 -08:00
Scott McMurray
bcc41a9b8d Autogenerate the add/sub tests 2017-11-25 06:25:19 -08:00
Scott McMurray
ed89a17f25 Make them all pub 2017-11-25 05:53:53 -08:00
Scott McMurray
665f268872 Tweak addo & subo to try and fix MIPS 2017-11-25 05:26:24 -08:00
Scott McMurray
5e71218390 Implement all the 128-bit operator lang items from rust PR 46093 2017-11-25 04:21:05 -08:00
Alex Crichton
02b3734a5b Remove divsf3.c from compiler-rt
We implement this now!
2017-11-19 09:08:27 -08:00
Alex Crichton
f5532b22b5
Merge pull request #207 from sunfishcode/master
Add "volatile" and "memory" clobber to asm! that doesn't fall through.
2017-11-15 23:44:02 +01:00
Dan Gohman
a6ecd1a73f Add "volatile" and "memory" clobber to asm! that doesn't fall through.
Use the "volatile" option and the "memory" clobber on inline asm that does
things like return directly, to reduce the chances of compilers rearranging
the code.
2017-11-15 12:49:10 -08:00
Alex Crichton
93e3091ffc
Merge pull request #206 from aeleos/div
Implement divsf3 and divdf3
2017-11-14 13:58:07 +01:00
Oliver Geller
8bb30026c7 Implement divsf3 and divdf3 2017-11-13 20:22:27 -05:00
Alex Crichton
bb2c81b700
Merge pull request #205 from aeleos/master
Implement mulsf3 and muldf3
2017-11-14 00:41:18 +01:00
Oliver Geller
897048543f Implement mulsf3 and muldf3 2017-11-08 17:36:34 -05:00
Alex Crichton
1be2858df7
Merge pull request #203 from alexcrichton/wasm
Prepare this crate for more wasm32 compatibility
2017-11-03 00:45:26 -04:00
Alex Crichton
46fbf3a565 Work around OSX on Travis 2017-11-02 11:14:05 -07:00
Alex Crichton
45cd956acc Prepare this crate for more wasm32 compatibility
This commit prepares the build script for a wasm32 target that doesn't use
Emcripten, notably forcing the `mem` feature to get activated and forcibly
ignoring the `c` feature, even if activated, for the wasm32 target.
2017-11-01 19:29:41 -07:00
bors
2d414afec5 Auto merge of #200 - japaric:no-binfmt-misc, r=alexcrichton
drop binfmt_misc dependency

Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.

r? @alexcrichton
2017-10-08 02:02:35 +00:00
Jorge Aparicio
2446cc468f drop binfmt_misc dependency
Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.
2017-10-07 22:19:37 +02:00
bors
5b96befbc5 Auto merge of #115 - Amanieu:linux-arm-atomic, r=alexcrichton
Add atomic support for pre-ARMv6 on Linux

This uses the [kernel user helpers](https://www.kernel.org/doc/Documentation/arm/kernel_user_helpers.txt) which are available starting from kernel 2.6.15. Since Rust currently requires 2.6.18 at a minimum, this should be fine in practice. I did not include support for 64-bit atomics since that functionality is only available in kernel 3.1.

This PR allows Rust to work on older ARM versions such as ARMv4 and ARMv5 with the full libstd.
2017-10-06 23:08:42 +00:00
Amanieu d'Antras
73e38dcf2f Add atomic support for pre-ARMv6 on Linux 2017-10-05 12:44:12 +01:00
Alex Crichton
fe8d893a6b Update target specs 2017-10-03 02:28:49 -07:00
Alex Crichton
0b9844764e Merge pull request #198 from est31/master
Partial revert of the float conversion refactor in #192
2017-09-29 01:54:05 -05:00
est31
c781759498 Partially revert a272d753f5
This partially reverts commit "Convert float_to_int! into a function"
2017-09-29 02:20:27 +02:00
est31
a20840262e Partially revert 482d98318f
This partially reverts "Convert int_to_float! to a function".
2017-09-29 02:19:40 +02:00
Alex Crichton
789e8c159f Merge pull request #196 from alexcrichton/cc
Update to the `cc` dependency
2017-09-27 17:38:06 -05:00
Alex Crichton
006f173f85 Ignore failing test on mips 2017-09-22 21:31:27 -07:00
Alex Crichton
6cf8fe7932 Update to the cc dependency 2017-09-22 21:30:12 -07:00
bors
67e0908d7f Auto merge of #195 - alexcrichton:32-darwin-empty, r=alexcrichton
Disable empty intrinsics on i686-apple-darwin

These all currently just produce empty object files
2017-09-17 22:25:49 +00:00
Alex Crichton
1be538be1e Disable empty intrinsics on i686-apple-darwin
These all currently just produce empty object files
2017-09-17 15:25:34 -07:00
bors
4d9df62fb7 Auto merge of #194 - mattico:i386, r=alexcrichton
Implement x86 chkstk in "rust"

cc #183

Basically the same as the x86_64 ones, except `__alloca` doesn't need to fix the parameter register. I've manually verified that the disassembly is the same, and that these work in a compiled rust program.

The second commit disables compiling probestack functions for `feature = mangled-names`. They aren't needed during testing because they aren't comparison tested and the unmangled versions are the ones that actually get used.

r? @alexcrichton
2017-09-16 02:58:04 +00:00
Matt Ickstadt
a40cc6a12d Don't compile probestack functions during testing 2017-09-15 18:13:06 -05:00
Matt Ickstadt
b3679bcfba Implement x86 chkstk in "rust" 2017-09-15 18:04:59 -05:00
bors
a767bab639 Auto merge of #193 - alexcrichton:update, r=alexcrichton
Update MinGW download location
2017-09-15 22:59:44 +00:00
Alex Crichton
f06f7c7bd6 Update MinGW download location 2017-09-15 15:59:15 -07:00
bors
35dec6bd8a Auto merge of #192 - est31:master, r=alexcrichton
Refactor float implementation

Refactors the float implementation. Fixes #169. Parts of the PR were inspired a previous PR by @mattico .
2017-09-14 17:27:43 +00:00
est31
0cd476220b Remove duplication by adding a macro 2017-09-14 17:39:25 +02:00
est31
3efae7f7d9 Convert add! to a function 2017-09-14 17:33:44 +02:00
est31
482d98318f Convert int_to_float! to a function 2017-09-14 16:32:50 +02:00
est31
ff63f7b80f Convert float_to_int! into a function 2017-09-14 14:59:32 +02:00
bors
ef4951582f Auto merge of #189 - tamird:update-comment-rustbuild, r=alexcrichton
Update rustbuild commentary

r? @nikomatsakis

This is the reason that https://github.com/rust-lang/rust/pull/44509 doesn't work - the `rustbuild` feature _is_ actually used, it was just incorrectly documented here and I missed it.
2017-09-14 00:46:30 +00:00
est31
a272d753f5 Don't use the Wrapping wrapper in float addition
Inspired by a patch by mattico.
2017-09-14 02:08:28 +02:00