Commit Graph

839 Commits (master)

Author SHA1 Message Date
pca006132 d7b4ba2564 Removed libm dependency 2020-09-02 12:34:12 +08:00
pca006132 1fbfaa23c4 Moved asm 2020-09-02 12:34:12 +08:00
pca006132 1d50ac9052 Fix c feature 2020-09-02 12:34:12 +08:00
pca006132 c21d3aeec3 Added memcpy with neon optimization for zynq. 2020-09-02 12:34:12 +08:00
Amanieu d'Antras 2635ae9a6c Bump to 0.1.35
This time using the proper procedure for including libm.
2020-08-28 01:35:29 +01:00
Amanieu d'Antras f60b31725c Bump to 0.1.34
0.1.33 was published without the libm submodule
2020-08-27 17:50:24 +01:00
Amanieu d'Antras 0fd1e004bc Bump to 0.1.33 2020-08-24 12:45:58 +01:00
Amanieu d'Antras 9945ce884a
Merge pull request #377 from vigoux/aarch64-musl-fallback
Add compiler-rt fallbacks on aarch64-musl
2020-08-24 12:45:05 +01:00
Thomas Vigouroux c172ebdfd3 add compiler-rt fallbacks on aarch64-musl 2020-08-24 13:28:32 +02:00
Amanieu d'Antras 5612f3005f
Merge pull request #375 from Amanieu/fix_ci
Fix CI url for compiler-rt source
2020-08-23 23:49:57 +01:00
Amanieu d'Antras 6a67566b20 Fix CI url for compiler-rt source 2020-08-23 23:31:51 +01:00
Amanieu d'Antras caa19a764e
Merge pull request #341 from vfreex/add-mips-compiler-rt-fallback
add mips/mips64 compiler-rt fallbacks so that libgcc is not required
2020-08-23 23:27:05 +01:00
Aaron Kutch f4c7940d3b
Improve `__clzsi2` performance (#366) 2020-07-28 13:09:18 -05:00
Joseph Richey f3846bc05d
lint: Allow improper_ctypes_definitions (#364)
https://github.com/rust-lang/rust/pull/72700 caused the existing
`allow(improper_ctypes)` guard to stop working, we now need
`allow(improper_ctypes_definitions)` instead.

We keep the old one to avoid any issues with older nightlies.

Signed-off-by: Joe Richey <joerichey@google.com>
2020-07-08 09:07:19 -05:00
Alex Crichton 7b996ca0fa Bump to 0.1.32 2020-06-01 08:56:11 -07:00
jethrogb f853d6d9b7
Manually patch ret instruction for LVI (#359)
Co-authored-by: Jethro Beekman <jethro@fortanix.com>
2020-06-01 10:55:42 -05:00
Alex Crichton 5488a09800 Bump to 0.1.31 2020-05-29 13:43:57 -07:00
Alex Crichton d837cce3d3 Add back in unsafe for bootstrapping
And add an `#[allow]` for now to appease stage0
2020-05-29 13:43:21 -07:00
Alex Crichton d3efbd2915 Bump to 0.1.30 2020-05-29 13:41:09 -07:00
Alex Crichton 4bf8cad593
Expand wasm32 testing on CI (#360)
* Expand wasm32 testing on CI

Run the full `run.sh` test script to get full assertions, including that
nothing in the wasm compiler-builtins is panicking. Unfortunately it's
currently panicking, so this is good to weed out!

* Update libm
2020-05-29 14:38:29 -05:00
Alex Crichton 156fcf1d67 Bump to 0.1.29 2020-05-26 13:12:24 -07:00
Tomasz Miąsko d0ea0765aa
Use crate visibility for traits (#358)
Co-authored-by: Tomasz Miąsko <tomasz.miasko@gmail.com>
2020-05-26 15:12:10 -05:00
Eric Huss c2eba93e28
Add more targets to automatically select `mem` feature. (#357) 2020-05-22 16:12:06 -05:00
Alex Crichton 1108d2af9d Bump to 0.1.28 2020-05-11 22:29:49 -07:00
Alex Crichton cde22bc180
Switch to using `llvm_asm!` instead of `asm!` (#351)
* Switch to using `llvm_asm!` instead of `asm!`

* Run rustfmt

* Fix how LTO is specified on nightly
2020-04-29 15:30:10 -05:00
Alex Crichton 25ea08da28 Bump to 0.1.27 2020-04-13 07:17:28 -07:00
Tomasz Miąsko 2541f27e8c
Place intrinsics in individual object files (#349)
Co-authored-by: Tomasz Miąsko <tomasz.miasko@gmail.com>
2020-04-10 17:00:50 -05:00
Alex Crichton 72526f3811 Bump to 0.1.26 2020-02-28 11:01:42 -08:00
Andre Richter 43bcb3b59f
aarch64: Exclude FP intrinsics on +nofp or +nosimd (#344)
`AArch64` GCCs exit with an error condition when they encounter any kind of
floating point code if the `nofp` and/or `nosimd` compiler flags have been set.

Therefore, evaluate if those flags are present and set a boolean that causes any
compiler-rt intrinsics that contain floating point source to be excluded for
this target.

This patch prepares https://github.com/rust-lang/rust/pull/68334
2020-02-28 13:01:22 -06:00
Yuxiang Zhu 3f012a835e add mips/mips64 compiler-rt fallbacks so that libgcc is not required
This adds compiler-rt fallbacks for mips and mips64 arches.

Solves linking issues like https://github.com/rust-lang/rust/issues/57820.

Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
2020-02-13 03:33:56 +08:00
Alex Crichton 3e6327aa59 Bump to 0.1.25 2020-02-11 22:21:38 -08:00
Tyler Mandry cae3e6ea23
Set probestack visibility to hidden on ELF targets (#340) 2020-02-11 22:21:12 -08:00
Alex Crichton 955cea42cc Update CI installation of Rust on macos 2020-01-28 00:39:52 -08:00
Daniel Frampton 0a15c9bdfe Don't modify the intrinsic abi for aarch64 windows (#337) 2020-01-14 15:28:10 -06:00
Adam Schwalm d7191b14c1 Add separate rust_probestack definition for uefi (#335)
This is necessary because the Mach-O definition must have the
triple underscore, but the UEFI one must not.
2020-01-06 10:22:30 -06:00
Alex Crichton 6de4f8f2e0 Bump to 0.1.23 2019-12-10 09:02:40 -08:00
Runji Wang 9193bbee5d Fix compile error on x86_64-unknown-uefi target (#331)
* fix compile error on x86_64-unknown-uefi target

* Fix tests on nightly
2019-12-10 09:02:14 -08:00
Alex Crichton 59b3eb7df1 Bump to 1.0.22 2019-12-06 06:54:50 -08:00
Tyler Mandry 2566aa663b Add control flow information to __rust_probestack (#328) 2019-12-06 08:51:42 -06:00
Alex Crichton f8c28c5c3b Update checkout action reference 2019-12-03 09:11:29 -08:00
Alex Crichton 0df0cf55d6 Update publishing instructions 2019-11-11 10:40:09 -08:00
Alex Crichton 49ad9018a9 Bump to 0.1.21 2019-11-11 10:39:08 -08:00
Alex Crichton d6a13419f6
Gate atomic intrinsics on presence of instructions (#324)
Don't emit the intrinsics for platforms which don't actually have the
instructions to do atomic loads/stores.

Closes #322
2019-11-11 12:38:50 -06:00
Alex Crichton 40ef6cb749
Allow FFI-unsafe warnings for u128/i128 (#323)
* Allow FFI-unsafe warnings for u128/i128

Handle new warnings on nightly, and we shouldn't need to worry about
these with compiler-builtins since this is tied to a particular compiler.

* Clean up crate attributes

* No need for stability marker
* Rustdoc docs not used for this crate
* Remove old build-system related cruft from rustc itself.

* Run `cargo fmt`
2019-11-11 12:19:10 -06:00
Alex Crichton a533ae9c5a Bump to 0.1.20 2019-11-07 11:04:36 -08:00
Oliver Scherer 7a8161dab7 Emit `_fltused` on `uefi` targets as a short-term workaround (#317)
* Emit `_fltused` on `uefi` targets as a short-term workaround

* Remove stray docker container
2019-11-07 13:04:11 -06:00
Alex Crichton 9823b956ce Fix Github Actions for recent system changes 2019-10-28 07:39:04 -07:00
Ian Kronquist 462b73c1fe Implement bcmp (#315)
As of LLVM 9.0, certain calls to memcmp may be converted to bcmp, which I guess
could save a single subtraction on some architectures. [1]

bcmp is just like memcmp except instead of returning the difference between the
two differing bytes, it returns non-zero instead. As such, memcmp is a valid
implementation of bcmp.

If we care about size, bcmp should just call memcmp.
If we care about speed, we can change bcmp to look like this instead:
```rust
pub unsafe extern "C" fn bcmp(s1: *const u8, s2: *const u8, n: usize) -> i32 {
    let mut i = 0;
    while i < n {
        let a = *s1.offset(i as isize);
        let b = *s2.offset(i as isize);
        if a != b {
            return 1;
        }
        i += 1;
    }
    0
}
```

In this PR I do not address any changes which may or may not be needed for arm
aebi as I lack proper test hardware.

[1]: https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html#noteworthy-optimizations
2019-09-30 11:02:47 -05:00
Alex Crichton ea5db23a6a Remove `-nursery` from urls 2019-09-25 11:20:14 -07:00
Alex Crichton 711d17fb3c Update the gitmodule url for `libm` 2019-09-25 11:19:35 -07:00