Alex Crichton
e7c804a9b0
Expand and refactor teting infrastructure
...
This commit moves over most of the testing infrastructure to in-tree docker
images that are all dispatched to from Travis (no other test configuration).
This allows versioning modifications to the test infrastructure as well as the
code itself. Additionally separate docker images allows for easy modification of
one without worrying about tampering of others as well as easy addition of new
targets by simply adding a new `Dockerfile`.
Additionally this commit bundles the master version of the `compiler-rt` source
repository from `llvm-mirror/compiler-rt` to test against. The compiler-rt
library itself is compiled as a `cdylib` which is then dynamically located at
runtime and we look for symbols in. There's a few hoops here, but they currently
get the job done.
All tests now execute against both gcc_s and compiler-rt, and this
testing strategy is now all hidden behind a macro as well (refactoring
all existing tests along the way).
2016-09-28 22:09:55 -07:00
homunkulus
10146b3334
Auto merge of #73 - japaric:weak, r=japaric
...
put weak mem* symbols behind an opt-in Cargo feature
closes #64
cc #66
2016-09-22 23:59:48 +00:00
Jorge Aparicio
2dc91bd96c
put weak mem* symbols behind an opt-in Cargo feature
...
closes #64
cc #66
2016-09-22 18:02:25 -05:00
homunkulus
bc07830e09
Auto merge of #71 - japaric:aeabi-aliases, r=japaric
...
add missing aeabi aliases
2016-09-22 22:55:43 +00:00
Jorge Aparicio
2d630eedfd
add missing aeabi aliases
2016-09-22 17:02:36 -05:00
homunkulus
0223d851b8
Auto merge of #67 - japaric:gcc_s, r=japaric
...
test our implementations against gcc_s
if it exposes the same intrinsics that we implement -- gcc_s doesn't
implement all the intrinsics for all the architectures.
closes #65
r? @Amanieu
Tested on Linux x86_64 and against the x86_64 and the arm-gnueabi targets. Unclear whether this works on osx or windows.
2016-09-22 22:01:46 +00:00
Jorge Aparicio
ea3aab9701
Merge pull request #68 from japaric/another-thumb
...
test the thumbv7em-none-eabihf target
2016-09-22 12:24:01 -05:00
Jorge Aparicio
a5b15eef71
fix build.rs
...
we don't want to match musleabihf targets
2016-09-22 11:56:34 -05:00
Jorge Aparicio
a83c11232e
avoid division overflow in idivmod test
2016-09-22 10:32:15 -05:00
Jorge Aparicio
34f17b2ecf
test the thumbv7em-none-eabihf target
2016-09-22 06:15:05 -05:00
Jorge Aparicio
bc61db2e36
don't test always against gcc_s
...
instead test half of the time against gcc_s and the other half test
against the native operation (\*).
(\*) Not all the targets have available a native version of the
intrinsics under test. On those targets we'll end up testing our
implementation against itself half of the time. This is not much of a
problem because we do several quickcheck runs per intrinsic.
2016-09-21 21:38:06 -05:00
Jorge Aparicio
7a56ac6bb4
armhf: don't compare our impls against gcc_s
2016-09-21 21:14:38 -05:00
Jorge Aparicio
294c6a93d8
avoid division overflow in idivmod test
2016-09-17 21:10:41 -05:00
Jorge Aparicio
0ae6c5db88
osx: link to dylib, windows: always return None
2016-09-17 20:23:58 -05:00
Jorge Aparicio
656cd2b308
test our implementations against gcc_s
...
if it exposes the same intrinsics that we implement -- gcc_s doesn't
implement all the intrinsics for all the architectures.
closes #65
2016-09-16 15:53:14 -05:00
Jorge Aparicio
152f5150f6
homu test
2016-09-10 19:12:50 -05:00
Jorge Aparicio
74459fdf12
test for homu
2016-09-10 18:37:35 -05:00
Jorge Aparicio
4553b1fc76
appveyor: test on auto and try only
2016-09-10 16:54:54 -05:00
Jorge Aparicio
becf6eea62
homu-ify
2016-09-10 16:49:32 -05:00
Jorge Aparicio
e237a46f40
tell cargo which linker to use
2016-08-29 21:35:53 -05:00
Jorge Aparicio
a88958c673
install less stuff
...
it's already installed in the docker image
2016-08-29 21:25:23 -05:00
Jorge Aparicio
d253b6a2e4
travis: use latest docker image
2016-08-29 21:21:59 -05:00
Jorge Aparicio
80f867f306
pin xargo and gist versions
2016-08-29 20:37:41 -05:00
Jorge Aparicio
17386437c8
fix typo
2016-08-29 20:36:52 -05:00
Jorge Aparicio
a8774eb192
travis: simplify ci scripts
2016-08-29 19:31:49 -05:00
Jorge Aparicio
62d5f58908
print rustup version
2016-08-27 12:34:39 -05:00
Jorge Aparicio
90d58ada7a
appveyor: use rustup
2016-08-27 11:37:35 -05:00
Jorge Aparicio
2e516532d1
set language: ruby on osx only
2016-08-23 21:20:57 -05:00
Jorge Aparicio
1ae3b29270
use newer docker image
...
it comes with ruby pre-installed
2016-08-23 21:19:18 -05:00
Jorge Aparicio
185143e90f
use the gist gem instead of the gist crate
...
hopefully this will work on osx and will make everything more
uniform (appveyor is already using the gem instead of the crate)
closes #51
2016-08-23 20:48:24 -05:00
Jorge Aparicio
ff17cfaa46
README: when and how to use this crate
2016-08-23 20:35:30 -05:00
Jorge Aparicio
72db6febd0
README: add AppVeyor badge
2016-08-23 20:23:28 -05:00
Jorge Aparicio
bcf5a641df
README: fix link
2016-08-23 20:17:39 -05:00
Jorge Aparicio
79411ae643
use the gist crate
...
but not on OSX because it doesn't work there
closes #53
cc #51
2016-08-22 21:22:16 -05:00
Matt Ickstadt
ed393f32a1
appveyor: Use gist to post disassembly
2016-08-22 17:49:39 -05:00
Matt Ickstadt
5e867a2b98
travis: Use wgetpaste to post disassemblies to gist
2016-08-22 17:49:39 -05:00
Matt Ickstadt
6a96cf52b6
Add a Porting Reminders section to the README
2016-08-21 15:49:32 -05:00
Jorge Aparicio
ae9d294297
use utility function to compare the repr of floats
...
follow up of #43
2016-08-21 11:24:58 -05:00
Jorge Aparicio
43ce7db752
only show disassembly of optimized build
...
we can't really compare the disassembly of the debug build to
libcompiler-rt.a anyways
2016-08-21 11:09:32 -05:00
Jorge Aparicio
e5455d7f12
Merge pull request #49 from japaric/edge
...
qc: bias towards generation of edge cases
2016-08-21 11:03:44 -05:00
Matt Ickstadt
30428ec88f
Use mem::swap to swap variables
2016-08-20 22:30:02 -05:00
Jorge Aparicio
e4dabb8c32
qc: bias towards generation of edge cases
2016-08-20 22:17:50 -05:00
Matt Ickstadt
fe3c35131f
Implement soft float add builtins
2016-08-20 16:06:02 -05:00
Matt Ickstadt
35d68d8ab2
Move integer functions to separate module
2016-08-20 15:55:06 -05:00
Jorge Aparicio
f96d56dc37
Merge pull request #44 from Amanieu/sdiv
...
Add signed division functions
2016-08-19 09:16:53 -05:00
Amanieu d'Antras
59fe09c493
Add tests for ARM division builtins
2016-08-19 12:13:02 +01:00
Amanieu d'Antras
161234b8b3
Add signed division functions
2016-08-19 12:13:02 +01:00
Jorge Aparicio
3fddb6b427
rename muldi4 to muldi3
...
closes #42
2016-08-18 21:27:16 -05:00
Jorge Aparicio
f2341f101f
Merge pull request #40 from mattico/add-x86_64
...
Add x86_64 builtins
2016-08-18 20:31:53 -05:00
Jorge Aparicio
ec2ff1e5cf
Merge pull request #41 from mattico/dumpbin
...
appveyor: inspect binaries
2016-08-17 14:39:13 -05:00