Commit graph

739 commits

Author SHA1 Message Date
Alex Crichton
6ddcff1475 Fix __divsi3 and __udivsi3 on thumbv6m targets
This commit fixes a bug accidentally introduced in #285 where some
lingering references remained to `#[cfg(thumbv6m)]` but this, since the
historical revert, was renamed to `#[cfg(thumb_1)]`. This caused on the
thumbv6m platform for the intrinsics to be accidentally omitted because
the build script didn't actually compile them but the Rust code thought
the C code was in use.

After correcting the `#[cfg]` statements the CI configuration for the
`thumb*` family of targets was all updated. The support for xargo
testing was removed from `run.sh` since it had long since bitrotted, and
the script was updated to simply build the intrinsics example to attempt
to link for each of these targets. This in turn exposed the bug locally
and allowed to confirm a fix once the `#[cfg]` statements were
corrected.

cc rust-lang/rust#60782
2019-05-14 12:26:09 -07:00
Alex Crichton
3a8b5e0244 Bump to 0.1.12 2019-05-02 15:18:37 -07:00
Alex Crichton
a41077e11b
Merge pull request #286 from alexcrichton/fix-dupe
Fix duplicate symbol __clzsi2
2019-05-02 17:17:52 -05:00
Alex Crichton
74efb8e8e5
Merge pull request #287 from alexcrichton/reenable-mips
Enable historically segfaulting tests on MIPS
2019-05-02 16:44:40 -05:00
Alex Crichton
de566fec8c Fix duplicate floatdisf symbol on Windows MSVC 2019-05-02 14:22:19 -07:00
Alex Crichton
5aa50ead74
Merge pull request #284 from alexcrichton/ldexp
Include `ldexp*` intrinsics on the wasm target
2019-05-02 16:17:33 -05:00
Alex Crichton
1d82d50676
Merge pull request #285 from alexcrichton/use-optimized
Revert "Use the Rust implementation of udivsi3 on ARM"
2019-05-02 16:17:04 -05:00
Alex Crichton
21513cdcc2 Enable historically segfaulting tests on MIPS
They seem to be passing locally so let's see what CI has to say.

Closes #137
2019-05-02 13:44:20 -07:00
Alex Crichton
0899a164ed Fix duplicate symbol __clzsi2
Looks like our tests weren't quite testing compiler-builtins when it was
compiled with unmangled symbols, so update the tests to catch this and
then fix the compilation of the `__clzsi2` intrinsic to use the C
version if it's compiled.
2019-05-02 13:35:50 -07:00
Alex Crichton
98f4618c9a Revert "Use the Rust implementation of udivsi3 on ARM"
This reverts commit 681aaa914dea7cae8252c33023604ce6c91808bd.
2019-05-02 12:49:19 -07:00
Alex Crichton
1701e71ed6 Include ldexp* intrinsics on the wasm target
Looks like LLVM optimizes programs like:

    fn foo(a: u8) -> f32 {
        2.0f32.powf(a as f32)
    }

to actually invoking `ldexpf`, so let's be sure to include bindings so
there's not undefined symbols.
2019-05-02 12:40:39 -07:00
Alex Crichton
3789bb1a98 Bump to 0.1.11 2019-04-30 10:08:23 -07:00
Alex Crichton
743c355069
Merge pull request #283 from Goirad/patch-1
Added missing fdim signature
2019-04-30 08:41:30 -05:00
Goirad
63c0bd2522
Added missing fdim signature 2019-04-29 14:42:14 -07:00
Alex Crichton
76184c21e0 Add instructions for publishing 2019-04-08 07:55:09 -07:00
Alex Crichton
c2e2634223 Bump to 0.1.10 2019-04-08 07:52:05 -07:00
Alex Crichton
f49c73ea11
Merge pull request #281 from Zoxc/vs2019
Update submodule for VS 2019 support
2019-04-08 09:51:31 -05:00
John Kåre Alsaker
36e4db0364 Update submodule for VS 2019 support 2019-04-08 16:30:33 +02:00
Alex Crichton
78d40ed30c
Update azure pipelines badge 2019-04-02 15:41:20 -05:00
Alex Crichton
26a01f97a8 Bump to 0.1.9 2019-04-02 13:05:56 -07:00
Alex Crichton
a6034d0b7b More fixes for i686-mingw 2019-04-02 13:02:22 -07:00
Alex Crichton
44181b42f4 Attempt to fix MinGW targets 2019-04-02 12:51:36 -07:00
Alex Crichton
25692977a3
Merge pull request #277 from alexcrichton/less-wasi-sysm
Don't compile math symbols on wasm32-unknown-wasi
2019-04-02 14:44:24 -05:00
Alex Crichton
0491382b98
Merge pull request #279 from alexcrichton/configure-azure-pipelines
Configure Azure Pipelines
2019-04-02 14:44:08 -05:00
Alex Crichton
9772acb3cd Re-enable all targets 2019-04-02 12:17:23 -07:00
Alex Crichton
b73fa4b764 Try to fix Windows 2019-04-02 12:12:29 -07:00
Alex Crichton
742b0330c5 Try to handle thumb targets and xargo 2019-04-02 11:54:20 -07:00
Alex Crichton
a2b87a1a7f Generate a lock file before using Docker
Can't do it in the readonly filesystem inside!
2019-04-02 09:53:05 -07:00
Alex Crichton
7567d9ceb4 Don't pass -it to docker 2019-04-02 09:35:47 -07:00
Alex Crichton
95f4f0cd4e Upgrade all docker containers to 18.04 2019-04-02 08:39:19 -07:00
Alex Crichton
cede5bc161 Expand Azure Pipelines configuration 2019-04-02 08:37:06 -07:00
Alex Crichton
b51f3d18a3 Configure Azure Pipelines 2019-04-02 08:24:11 -07:00
Alex Crichton
d3d3cc2126 Add sample azure pipelines configuration 2019-04-02 07:57:02 -07:00
Alex Crichton
a806c53b2c Don't compile math symbols on wasm32-unknown-wasi
These are already provided by the C sysroot, so no need for us to
duplicate them!
2019-04-02 07:46:06 -07:00
Alex Crichton
a634eff280 Bump to 0.1.8 2019-03-21 07:52:59 -07:00
Alex Crichton
5a29b6d057
Merge pull request #276 from hug-dev/armv8m-support
Fix compilation errors for Armv8-M Baseline and Mainline with FPU
2019-03-14 09:15:10 -05:00
Hugues de Valon
b8413ddc32 Remove thumbv6m configuration of intrinsic example
It seems that the intrinsics that were generated for the functions in
example/intrinsics.rs where different implementations were given for
thumb6m-none-eabi target, have now been implemented in Rust so
configuration is not needed anymore.
2019-03-14 12:58:29 +00:00
Hugues de Valon
ae7b057cdb Fix compilation for thumbv8m.main-none-eabihf
Some files were not assembling for the Armv8-M Mainline architecture
profile with FPU extension. Reason being the same as for Armv7-M: the
conversion intrinsics including double precision floating
point variables do not work with single precision FPUs.
Also removes from exclusion files that are assembling without errors for
Armv7-M and Armv8-M Mainline.
2019-03-14 12:58:29 +00:00
Hugues de Valon
e7c41f4a84 Fix Armv8-M Baseline compilation
Armv8-M Baseline, ie thumbv8m.base-none-eabi, is a superset of the
Armv6-M architecture profile. As it shares almost the same instruction
set, this commit copies the configuration for thumbv6m-none-eabi to
enable it.
2019-03-14 12:58:23 +00:00
Alex Crichton
8d0fdce9ca Don't compile memory intrinsics on wasi 2019-03-13 08:23:25 -07:00
Alex Crichton
b944780250 Bump to 0.1.7 2019-02-27 12:39:34 -08:00
Alex Crichton
978345fb7f
Merge pull request #274 from jordanrh1/fix-windows-arm
Fix undefined symbol errors on windows/arm
2019-02-27 14:37:47 -06:00
Jordan Rhee
648db7498b Bump version to 0.1.6 2019-02-27 11:45:14 -08:00
Jordan Rhee
cab813bf74 Fix undefined symbol errors on windows/arm
Fix undefined symbol linker errors when building rust for windows/arm
by excluding unneeded symbols. The errors are:

  = note: lib.def : error LNK2001: unresolved external symbol __aeabi_memclr4
  lib.def : error LNK2001: unresolved external symbol __aeabi_memclr8
  lib.def : error LNK2001: unresolved external symbol __aeabi_memmove4
  lib.def : error LNK2001: unresolved external symbol __aeabi_memmove8
2019-02-27 11:39:49 -08:00
Alex Crichton
d81676bdc9
Merge pull request #273 from MikaelUrankar/freebsd_arm
FreeBSD arm needs clear_cache.c
2019-02-03 08:01:04 +01:00
MikaelUrankar
55f0ab112a FreeBSD arm needs clear_cache.c 2019-02-02 19:52:41 +01:00
Alex Crichton
9ff7577d93
Merge pull request #272 from cyplo/fix-new-nightly
Fix compilation on new nightly.
2019-01-22 09:17:07 -08:00
Cyryl Płotnicki
2b8e3f6029 Fix compilation on new nightly.
Compilation on rustc 1.33.0-nightly (c76f3c374 2019-01-18) failed with
```
error: the feature `cfg_target_vendor` has been stable since 1.33.0 and no longer requires an attribute to enable
  --> src/lib.rs:19:12
   |
19 | #![feature(cfg_target_vendor)]
   |            ^^^^^^^^^^^^^^^^^
   |
```

Removed the attribute to make it compile.
2019-01-20 09:33:55 +00:00
Alex Crichton
89bbb2e8b4
Merge pull request #271 from Lokathor/master
Version Bump for count leading zeros
2019-01-07 13:10:04 -06:00
Lokathor
c48d0c3d99 Perform the correct version bump 2019-01-07 12:08:18 -07:00