Geoff Yoerger
21c82e419d
Fix README relative link.
2017-08-21 16:17:04 -05:00
Tim Neumann
e377364051
Avoid memcpy references in unoptimized code
2017-07-22 23:10:30 +02:00
Oliver Middleton
45a7693962
Don't include custom chkstk on MSVC
...
MSVC includes its own __chkstk so these aren't used.
2017-07-12 22:40:49 +01:00
Alex Crichton
2fa53c4b67
Don't mangle probes all the time
2017-07-07 20:35:14 -07:00
Alex Crichton
f4e92e379c
Tweak definition of probestack functions
...
It looks like the old `__rust_probestack` routine is incompatible with newer
linux kernels. My best guess for this is that the kernel's auto-growth logic is
failing to trigger, causing what looks like a legitimate segfault to get
delivered. My best guess for why *that's* happening is that the faulting address
is below `%rsp`, whereas previously all faulting stack addresses were above
`%rsp`. The probestack routine does not modify `%rsp` as it's probing the stack,
and presumably newer kernels are interpreting this as a legitimate violation.
This commit tweaks the probestack routine to instead update `%rsp` incrementally
as probing happens. The ABI of the function, however, requires that `%rsp`
isn't changed as part of the function so it's restored at the end to the
previous value.
2017-07-07 10:16:03 -07:00
Alex Crichton
f771aac37a
Add __rust_probestack intrinsic
...
Will be required for rust-lang/rust#42816
2017-07-06 06:58:32 -07:00
Alex Crichton
79b55c48ca
Fix unused imports on iOS
2017-07-03 19:11:34 -07:00
Alex Crichton
a32ae6d6b6
Fix a typo in the build script
2017-07-03 15:28:03 -07:00
Alex Crichton
ebcf7fac6a
Compile ffsdi2 with rustbuild feature
...
This is not used by LLVM/Rust, but is apparently used by gcc/C which jemalloc
can require at least.
2017-07-03 15:00:51 -07:00
Alex Crichton
e48cd1180b
Use the Rust implementation of udivsi3 on ARM
...
Although compiler-rt presumably has a more optimized implementation written in
assembly, it appears buggy for whatever reason, causing #173 .
For now let's see if integration into rust-lang/rust will work with the
Rust-defined implementation!
2017-07-03 09:48:11 -07:00
Alex Crichton
9a6cfe4844
Merge pull request #172 from alexcrichton/update-compielr-rt
...
Update compiler-rt submodule
2017-07-01 07:49:17 -07:00
Alex Crichton
37538e8c2a
Update compiler-rt submodule
...
Needed to pull in some recent changes with rust-lang/rust
2017-07-01 00:31:53 -07:00
Jorge Aparicio
b9d6291682
no aeabi_mem* symbols on iOS, weak symbols on thumb, normal symbols elsewhere
2017-06-30 18:06:25 -05:00
Jorge Aparicio
f096e02f63
optimize 32-bit aligned mem{cpy,clr,set} intrinsics for ARM
...
this reduces the execution time of all these routines by 40-70%
2017-06-29 22:40:58 -05:00
Jorge Aparicio
326c0bb597
enable tests now that #150 has been fixed
2017-06-27 22:48:57 -05:00
Alex Crichton
6792390e3e
Enable the intrinsics program on thumb
2017-06-25 10:09:50 -07:00
Alex Crichton
0e404583e8
Address review comments
2017-06-24 21:51:34 -07:00
Alex Crichton
f9db3c5b32
Don't test mangled names on thumb
...
We are both the "real compiler-rt" and the "to be tested one".
2017-06-24 12:54:35 -07:00
Alex Crichton
60028c1d9d
Enable 128-bit integer tests on Windows
...
Closes #158
2017-06-24 12:23:28 -07:00
Alex Crichton
e7008c8609
Don't check for references to panics with debug assertions
2017-06-24 11:44:50 -07:00
Alex Crichton
e8964fc7dd
Don't build gcc_personality_v0
2017-06-24 11:36:05 -07:00
Alex Crichton
3eff54a4ee
Don't generate unmangled aeabi with gen-tests
...
The symbols they delgate to also don't exist...
2017-06-24 11:34:10 -07:00
Alex Crichton
90dab55cb0
Don't try to work with cargo test
2017-06-24 10:22:49 -07:00
Alex Crichton
cf1419e538
Add a FIXME for Windows
2017-06-24 10:12:17 -07:00
Alex Crichton
cec593c2aa
Tweak testing and such:
...
* Don't run `intrinsics` tests on thumb
* Disable `compiler_builtins` attribute on `feature = "gen-tests"`
* Disable mangling on `feature = "gen-tests"` instead of `cfg(test)`
2017-06-24 10:10:04 -07:00
Alex Crichton
4dfb2c5f09
Fix appveyor PATH
2017-06-23 21:38:55 -07:00
Alex Crichton
1614443a68
Try to fix run.sh on AppVeyor
2017-06-23 21:36:36 -07:00
Alex Crichton
c785055bd9
Remove usage of unwrap_or_else
2017-06-23 21:31:54 -07:00
Alex Crichton
80112d198d
Use the same CI script on AppVeyor
2017-06-23 21:23:52 -07:00
Alex Crichton
d5279752b0
Don't derive Debug for Sign
2017-06-23 21:11:31 -07:00
Alex Crichton
d3e78c5f6f
Don't compile assembly on x86_64 Windows
...
They've all got the wrong ABI...
2017-06-23 21:09:24 -07:00
Alex Crichton
bbaf9fd85a
Don't build chkstk on x86_64
2017-06-23 20:43:51 -07:00
Alex Crichton
af944595d0
Try testing MinGW targets
2017-06-23 20:35:25 -07:00
Alex Crichton
4bb783da70
Remove the travis cache
2017-06-23 20:20:42 -07:00
Alex Crichton
e8efe11f71
Shore up docs in the macros module
2017-06-23 16:28:50 -07:00
Alex Crichton
6db18f6536
Handle aeabi aliasing
...
Objects in compiler-rt may have two symbols, so this makes sure that we don't
bring in those objects by accident by defining the aliases ourselves.
2017-06-23 15:55:11 -07:00
Alex Crichton
78b290b61c
Deal with floatdidf on x86_64
...
Apparently LLVM will lower this down to just an instruction
2017-06-23 13:28:24 -07:00
Alex Crichton
f091d05904
Tweak usage of C shims on MSVC
2017-06-23 12:03:33 -07:00
Alex Crichton
4dbe3aaf2d
Use nm to weed out panics
2017-06-23 11:52:22 -07:00
Alex Crichton
11d3cffd30
Remove unused rust file
2017-06-23 11:21:36 -07:00
Alex Crichton
0e5562c38d
Remove executable bit on arm.rs
2017-06-23 11:21:15 -07:00
Alex Crichton
d20a774a4a
Remove defined intrinsics from build.rs
...
No need to load these from C!
2017-06-23 11:14:50 -07:00
Alex Crichton
bf2f5b5808
Convert float intrinsics to the intrinsics! macro
2017-06-23 11:05:25 -07:00
Alex Crichton
c53d1c7b7d
Remove executable bit from conv.rs
2017-06-23 10:44:59 -07:00
Alex Crichton
e8d550ee51
Less verbose output on symbol check
2017-06-23 10:44:29 -07:00
Alex Crichton
e798d1bf81
Enable mem for intrinsics on linux
2017-06-23 09:59:49 -07:00
Alex Crichton
b6a4de6be5
Fix features needed for the intrinsics example
2017-06-23 08:35:24 -07:00
Alex Crichton
43bb211be8
Fix travis intrinsics builds
2017-06-23 08:19:11 -07:00
Alex Crichton
57b8dd1812
Fix use_c_shim_if
2017-06-23 07:54:31 -07:00
Alex Crichton
5a36c4b54b
Use more intrinsics on msvc
2017-06-23 07:53:34 -07:00