Jorge Aparicio
e4997a2026
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
dd34b80ea0
pick target during Xargo installation
2016-09-30 20:41:59 -05:00
Jorge Aparicio
20926bc1fd
give Xargo a $HOME
2016-09-30 20:21:15 -05:00
Jorge Aparicio
9b1c06948d
fix Xargo installation
2016-09-30 20:20:15 -05:00
Jorge Aparicio
0864c9d6a2
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
d44e127053
use docker run --user
instead of manually creating a user
2016-09-30 18:37:41 -05:00
Jorge Aparicio
92204dce54
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
eeaaebc9ac
only x86-ish targets can use an unprefixed nm
2016-09-30 13:57:06 -05:00
Jorge Aparicio
148ac030d4
ignore duplicated get_pc_thunk symbols
2016-09-29 19:20:34 -05:00
Jorge Aparicio
a57a63fe08
adapt to new testing infrastructure
2016-09-29 18:50:04 -05:00
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
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
Jorge Aparicio
34f17b2ecf
test the thumbv7em-none-eabihf target
2016-09-22 06:15:05 -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
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
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
5e867a2b98
travis: Use wgetpaste to post disassemblies to gist
2016-08-22 17:49:39 -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
de150c1701
adjust test: weak symbols are now in librlibc.rlib
2016-08-15 20:22:58 -05:00
Jorge Aparicio
670f4e32aa
check presence of weak symbols
2016-08-14 22:02:43 -05:00
Jorge Aparicio
44aa941787
disable tests for ppc64le, drop logic around QEMU_ARCH
2016-08-13 19:56:34 -05:00
Jorge Aparicio
2d84d8acd4
add missing apt-get update
2016-08-13 19:30:30 -05:00
Jorge Aparicio
18265c1061
try 32-bit qemu for ppc64le
2016-08-13 18:58:41 -05:00
Jorge Aparicio
b8b7cbeabd
qemu-ppc64le still doesn't work
2016-08-13 18:33:40 -05:00
Jorge Aparicio
2160b520ff
enable tests for ppc64le
2016-08-13 18:00:49 -05:00
Jorge Aparicio
54e090113a
no need to explicitly call qemu-$ARCH
2016-08-13 17:45:43 -05:00
Jorge Aparicio
c7a48515ac
don't call docker inside docker
2016-08-13 17:36:00 -05:00
Jorge Aparicio
cc6aab07ea
actually enter docker
2016-08-13 17:27:18 -05:00
Jorge Aparicio
ea81bca98f
fix bash syntax
2016-08-13 17:24:52 -05:00
Jorge Aparicio
7b46e31124
CI: run all Linux targets inside docker
2016-08-13 17:22:12 -05:00
Jorge Aparicio
da0515756a
install libssh2
2016-08-13 12:58:44 -05:00
Jorge Aparicio
2684ea570c
change Xargo installation path
2016-08-13 12:55:09 -05:00
Jorge Aparicio
c135ca3157
binutils -> gcc
2016-08-13 12:47:59 -05:00
Jorge Aparicio
a3a0604b8e
no rust-std for these targets
2016-08-13 12:45:37 -05:00
Jorge Aparicio
b5b26a0384
install binutils manually
2016-08-13 12:41:50 -05:00
Jorge Aparicio
1b757d626d
CI: test ARM Cortex targets
...
closes #32
2016-08-13 12:12:37 -05:00
Jorge Aparicio
2aaa38504f
and libc6-dev
2016-08-11 00:26:16 -05:00
Jorge Aparicio
003d4d1521
some targets need gcc to be installed
2016-08-11 00:26:16 -05:00
Jorge Aparicio
989cd751cc
ppc64: test on 32-bit QEMU
2016-08-10 13:01:22 -05:00
Jorge Aparicio
1d924aa047
mips: run test on 32-bit QEMU
...
cc #2
2016-08-10 11:50:41 -05:00
Jorge Aparicio
3d2573086f
libgcc_s dev version
2016-08-09 16:17:06 -05:00
Jorge Aparicio
f484596465
32-bit version of libgcc
2016-08-09 15:55:25 -05:00
Jorge Aparicio
4e6c1b1be3
add libgcc
2016-08-09 15:46:57 -05:00
Jorge Aparicio
5e8812c574
use docker
2016-08-09 15:37:24 -05:00
Jorge Aparicio
d6acb778e4
fix bash syntax
2016-08-09 12:04:24 -05:00
Jorge Aparicio
b191b89e87
fix armv7
2016-08-09 11:53:49 -05:00
Jorge Aparicio
4d0da42b08
don't run tests on targets that have QEMU issues
...
cc #2
2016-08-09 11:49:55 -05:00
Jorge Aparicio
59a8ab6c87
CI: test mipsel-unknown-linux-gnu
2016-08-08 23:26:13 -05:00
Jorge Aparicio
e9f11c6f12
CI: test powerpc64-unknown-linux-gnu
2016-08-08 23:05:25 -05:00
Jorge Aparicio
b458b43397
fix case syntax
2016-08-08 22:31:14 -05:00
Jorge Aparicio
cb83ffc7f7
CI: test mips-unknown-linux-gnu
2016-08-08 22:03:44 -05:00
Jorge Aparicio
c3a501ec3b
fix target name in case
2016-08-08 21:49:31 -05:00
Jorge Aparicio
378bab2a11
fix package name
2016-08-08 21:46:24 -05:00
Jorge Aparicio
5e6dc52747
no sudo
2016-08-08 21:43:01 -05:00
Jorge Aparicio
d24e0e07a3
fix installation of c toolchain
2016-08-08 21:37:48 -05:00
Jorge Aparicio
ce538c6618
apt-get update
2016-08-08 21:32:12 -05:00
Jorge Aparicio
eb5a86b261
really install curl inside docker
2016-08-08 21:27:08 -05:00
Jorge Aparicio
f9d1455b29
install curl inside docker
2016-08-08 21:20:46 -05:00
Jorge Aparicio
ed2f8c937e
don't skip install phase inside docker
2016-08-08 21:14:04 -05:00
Jorge Aparicio
f31fd01713
set PATH inside docker
2016-08-08 21:02:07 -05:00
Jorge Aparicio
87004d454c
don't recursively call docker
2016-08-08 20:56:05 -05:00
Jorge Aparicio
a2fd9ed440
install toolchain in docker
2016-08-08 20:41:08 -05:00
Jorge Aparicio
4c52ab7a89
run in xenial (docker)
2016-08-08 20:37:04 -05:00
Jorge Aparicio
e813daef4b
explicitly use qemu-ppc64le
2016-08-08 20:04:17 -05:00
Jorge Aparicio
a1b1c8d66a
CI: test powerpc64le-unknown-linux-gnu
2016-08-08 19:44:55 -05:00
Jorge Aparicio
2431cd754b
CI: test powerpc-unknown-linux-gnu
2016-08-08 19:31:37 -05:00
Jorge Aparicio
3ccdc29e4d
macOS: actually install binutils
2016-08-07 17:32:53 -05:00
Jorge Aparicio
3cea133b4c
macOS: use gnu binutils
2016-08-07 17:29:31 -05:00
Jorge Aparicio
a0de8f0bdb
macOS: install binutils
2016-08-07 17:23:30 -05:00
Jorge Aparicio
48d9ff7e80
nm: drop --defined-only flag
...
it doesn't work on macOS
2016-08-07 17:18:37 -05:00
Jorge Aparicio
4cbba5979d
ignore objdump exit code
2016-08-07 17:14:30 -05:00
Jorge Aparicio
0921a91b26
fix objdump commands
2016-08-07 17:07:58 -05:00
Jorge Aparicio
5dbc8d9729
swap install.sh and script.sh
2016-08-07 17:03:44 -05:00
Jorge Aparicio
178fa2a806
travis CI
2016-08-07 16:55:30 -05:00