Jorge Aparicio
96ddd4ed8d
use test::black_box instead of ptr::*_volatile
...
both prevent LLVM from optimizing away the intrinsics but the former
doesn't produce an `intrinsics` binary that segfaults
2016-10-07 18:26:21 -05:00
Jorge Aparicio
c82403551d
fix unsafe warnings
2016-10-07 18:19:40 -05:00
Jorge Aparicio
fd69beba29
get profile.dev (-debug-assertions) + LTO working
2016-10-07 18:19:40 -05:00
Jorge Aparicio
a2ffc799d0
check that we don't have any call to panic in our implementations
2016-10-07 18:19:40 -05:00
Jorge Aparicio
24c2a15f3d
fix path to .rlib on OSX
2016-10-07 15:03:22 -05:00
Jorge Aparicio
213d929f86
drop the target files
2016-10-06 23:20:09 -05:00
Jorge Aparicio
8a32bd3424
fix duplicate symbol test
2016-10-03 20:20:23 -05:00
Jorge Aparicio
0827f8c7f1
hide the thumbv* target files
...
due to how Cargo works, the rustc-cfg in build.rs was picking our target
specifications rather than the one the user meant to use. Placing our
target files in any place other than the root of the Cargo project
avoids the issue.
2016-10-02 19:23:54 -05:00
Jorge Aparicio
89ebc46f37
pick target during Xargo installation
2016-09-30 20:41:59 -05:00
Jorge Aparicio
d0a57cb871
give Xargo a $HOME
2016-09-30 20:21:15 -05:00
Jorge Aparicio
fb5cb0e4c1
fix Xargo installation
2016-09-30 20:20:15 -05:00
Jorge Aparicio
36a437a445
fix nm call
...
the prefix was missing a '-', i.e. arm-linux-gnueabinm was being called.
This also sets -e in run.sh to catch this sort of errors.
2016-09-30 19:04:48 -05:00
Jorge Aparicio
b60d2515ff
use docker run --user
instead of manually creating a user
2016-09-30 18:37:41 -05:00
Jorge Aparicio
43e019dfc4
cache Cargo artifacts
...
notable changes in the docker-based testing infrastructure
- the docker containers can now modify $CARGO_HOME, to re-use the outer
Cargo registry, and the target directory to re-use build artifacts.
- the docker containers are removed when their execution finishes
because it's no longer necessary to re-start them to inspect them
because all the interesting output is in the outer target directory
2016-09-30 17:39:36 -05:00
Jorge Aparicio
cab88e6133
only x86-ish targets can use an unprefixed nm
2016-09-30 13:57:06 -05:00
Jorge Aparicio
62258b5188
ignore duplicated get_pc_thunk symbols
2016-09-29 19:20:34 -05:00
Jorge Aparicio
b5797dc2a2
adapt to new testing infrastructure
2016-09-29 18:50:04 -05:00
Alex Crichton
8e161a791a
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
Jorge Aparicio
b7fa7d3a59
put weak mem* symbols behind an opt-in Cargo feature
...
closes #64
cc #66
2016-09-22 18:02:25 -05:00
Jorge Aparicio
0404438809
test the thumbv7em-none-eabihf target
2016-09-22 06:15:05 -05:00
Jorge Aparicio
170a977587
tell cargo which linker to use
2016-08-29 21:35:53 -05:00
Jorge Aparicio
f0b6314737
install less stuff
...
it's already installed in the docker image
2016-08-29 21:25:23 -05:00
Jorge Aparicio
9b47cff39b
travis: use latest docker image
2016-08-29 21:21:59 -05:00
Jorge Aparicio
bc8f572c9f
pin xargo and gist versions
2016-08-29 20:37:41 -05:00
Jorge Aparicio
2f41babd74
fix typo
2016-08-29 20:36:52 -05:00
Jorge Aparicio
1ac627839d
travis: simplify ci scripts
2016-08-29 19:31:49 -05:00
Jorge Aparicio
948ada48b5
print rustup version
2016-08-27 12:34:39 -05:00
Jorge Aparicio
2a8b2c25a4
use newer docker image
...
it comes with ruby pre-installed
2016-08-23 21:19:18 -05:00
Jorge Aparicio
51aabf3c32
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
316f5cb9ba
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
27cbb963a3
travis: Use wgetpaste to post disassemblies to gist
2016-08-22 17:49:39 -05:00
Jorge Aparicio
10fdc9b535
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
94ab3e09c5
adjust test: weak symbols are now in librlibc.rlib
2016-08-15 20:22:58 -05:00
Jorge Aparicio
5abf6b5d7c
check presence of weak symbols
2016-08-14 22:02:43 -05:00
Jorge Aparicio
95651f62a9
disable tests for ppc64le, drop logic around QEMU_ARCH
2016-08-13 19:56:34 -05:00
Jorge Aparicio
9bee966c00
add missing apt-get update
2016-08-13 19:30:30 -05:00
Jorge Aparicio
c34b356c44
try 32-bit qemu for ppc64le
2016-08-13 18:58:41 -05:00
Jorge Aparicio
b5b28c02ba
qemu-ppc64le still doesn't work
2016-08-13 18:33:40 -05:00
Jorge Aparicio
9c651118fe
enable tests for ppc64le
2016-08-13 18:00:49 -05:00
Jorge Aparicio
a2135c1a5c
no need to explicitly call qemu-$ARCH
2016-08-13 17:45:43 -05:00
Jorge Aparicio
480bbec3cd
don't call docker inside docker
2016-08-13 17:36:00 -05:00
Jorge Aparicio
aa9a282c61
actually enter docker
2016-08-13 17:27:18 -05:00
Jorge Aparicio
c277cc67be
fix bash syntax
2016-08-13 17:24:52 -05:00
Jorge Aparicio
0c2ef10160
CI: run all Linux targets inside docker
2016-08-13 17:22:12 -05:00
Jorge Aparicio
11cd95f25d
install libssh2
2016-08-13 12:58:44 -05:00
Jorge Aparicio
2f9c64a577
change Xargo installation path
2016-08-13 12:55:09 -05:00
Jorge Aparicio
164b21991c
binutils -> gcc
2016-08-13 12:47:59 -05:00
Jorge Aparicio
10ea089eb2
no rust-std for these targets
2016-08-13 12:45:37 -05:00
Jorge Aparicio
e7b10e53ac
install binutils manually
2016-08-13 12:41:50 -05:00
Jorge Aparicio
ba3bb2952f
CI: test ARM Cortex targets
...
closes #32
2016-08-13 12:12:37 -05:00