Commit Graph

152 Commits

Author SHA1 Message Date
Amanieu d'Antras
3d763ae4aa Disable test for --no-default-features on rumprun 2018-07-12 17:47:31 +01:00
Bryant Mairs
d41e62ac29 Correct path for sparc64 debian image 2018-05-31 19:24:53 -07:00
Mike Hommey
d9013273a0 Add PTHREAD_*_MUTEX_INITIALIZER_NP for glibc
`pthread_mutex_t` varies across architectures, in several ways:
- endianness alters the ordering of bytes, since the contents of the
  struct are larger than 8-bit.
- its length varies.
- the location of the mutex kind (`PTHREAD_MUTEX_RECURSIVE`,
  `PTHREAD_MUTEX_ERRORCHECK` or `PTHREAD_MUTEX_ADAPTIVE_NP`) varies
  between 32-bit and 64-bit: On 32-bit architectures, it is preceded by
  three int/unsigned int, while on 64-bit architectures, it is preceded
  by four of them.

These initializers are only available from <pthread.h> when _GNU_SOURCE
is defined.

Relax the cfg_if check in ci/style.rs to allow #[cfg(target_endian)]
tests.
2018-04-11 06:38:18 +09:00
Francis Gagné
18341fd23a Rename the dox configuration option to cross_platform_docs
The libc crate is used as a dependency of the Rust compiler. Its build
system passes `--cfg dox` to all crates when generating their
documentation. libc's documentation is generated when the build system
is asked to generate the compiler documentation because `cargo doc`
automatically documents all dependencies.

When the dox configuration option is enabled, libc disables its
dependency on the core crate and provides the necessary definitions
itself. The dox configuration option is meant for generating
documentation for a multitude of targets even if the core crate for that
target is not installed. However, when documenting the compiler, it's
not necessary to do that; we can just use core or std as usual.

This change is motivated by the changes made to the compiler in
rust-lang/rust#48171. With these changes, it's necessary to provide
implementations of the Clone and Copy traits for some primitive types in
the library that defines these traits (previously, these implementations
were provided by the compiler). Normally, these traits (and thus the
implementations) are provided by core, so any crate that uses
`#![no_core]` must now provide its own copy of the implementations.

Because libc doesn't provide its own copy of the implementations yet,
and because the compiler's build system passes `--cfg dox` to libc,
generating the documentation for the compiler fails when generating
documentation for libc. By renaming the configuration option, libc will
use core or std and will thus have the necessary definitions for the
documentation to be generated successfully.
2018-03-18 16:39:40 -04:00
Wesley Moore
c1fa4b68a8 Update FreeBSD docker CI to use FreeBSD 11.1 image 2018-03-16 08:23:01 +11:00
Wesley Moore
d3e6651ff8 Update the instructions for building a FreeBSD CI image 2018-03-15 21:22:00 +11:00
gnzlbg
f9c396803c perform ctest with and without std 2018-02-27 17:36:45 +01:00
gnzlbg
5b890a31bd fix ci script 2018-02-27 17:08:14 +01:00
gnzlbg
988843834f test --no-default-features and fix musl builds 2018-02-27 15:47:18 +01:00
Alex Crichton
ac4afe746f Switch to sparc64 to debian:stretch
Looks like ubuntu 17.04 is broken now and it fails to link on 17.10 and 18.04.
It seems to work on stretch though!
2018-01-18 11:24:40 -08:00
Alex Crichton
1f29ac3167 Move some containers to ubuntu 18.04
Apparently 17.04 is broken now?
2018-01-18 11:21:30 -08:00
Alex Crichton
6978440054 Fix wasm tests
Looks like `cargo test` is now trying to test too many files due to
rust-lang/cargo#4750 so add a clause to the wrapper to ignore the bogus ones for
now
2017-11-25 14:11:14 -08:00
Alex Crichton
4d7fa243c6 Fix the FreeBSD target
It wasn't expecting a `*.d` file to exist, now it does.
2017-11-25 13:56:29 -08:00
Sébastien Santoro
97a81d7920 Use more convenient and UNIX-agnostic shebang
Pure sh scripts should use /bin/sh as it's available on every platform.

When using bash-specific features, use env to find it, as bash can
be installed in different places according the OS.
2017-11-13 13:42:00 +00:00
Marco A L Barbosa
6fa3870e5b Run sparc64-unknown-linux-gnu tests on qemu system 2017-10-31 10:10:35 -02:00
Marco A L Barbosa
cd2e87d575 Run s390x test in qemu system instead of qemu user 2017-10-31 09:44:54 -02:00
bors
10ac3df173 Auto merge of #824 - malbarbo:x32-1, r=alexcrichton
Fixes and test for x86_64-unknown-linux-gnux32

This fixes all libc tests and almost all rustc tests (3 libstd tests and one run-pass test fails).

Fixes https://github.com/rust-lang/libc/issues/816https://github.com/rust-lang/libc/issues/816
2017-10-28 04:03:07 +00:00
bors
25fb72e359 Auto merge of #823 - malbarbo:sparc64-test, r=alexcrichton
Add sparc64-unknown-linux-gnu to CI (with disabled tests)

Tests are disabled because qemu segfaults, see https://github.com/rust-lang/libc/issues/822

The builder is still useful to catch some errors.
2017-10-28 03:34:15 +00:00
bors
c6abfc1f70 Auto merge of #821 - malbarbo:mips64el-test, r=alexcrichton
Add mips64el to CI
2017-10-28 03:04:32 +00:00
bors
84d72c659d Auto merge of #818 - malbarbo:powerpc64le-test, r=alexcrichton
Add powerpc64le to CI
2017-10-28 02:34:11 +00:00
Marco A L Barbosa
a9115d5e4b Fix android ci 2017-10-27 16:46:32 -02:00
Marco A L Barbosa
e63f46a0ce Add issue for linux x32 failing to build 2017-10-27 13:15:32 -02:00
Marco A L Barbosa
0ee3935ed3 Add x86_64-unknown-linux-gnux32 docker image 2017-10-27 11:06:14 -02:00
Marco A L Barbosa
9a0d37f517 Add sparc64-unknown-linux-gnu to CI (with disabled tests) 2017-10-27 09:09:45 -02:00
Marco A L Barbosa
56b3403fa5 Add mips64el to CI 2017-10-27 08:21:40 -02:00
Marco A L Barbosa
31309536e9 Add powerpc64le to CI 2017-10-24 19:04:02 -02:00
Alex Crichton
9029cfb9eb Add more Linux-based syscall tables
* Add syscall tables to most remaining arches in `src/unix/notbsd`
* Add aarch64/arm musl to CI
* Update dependencies
2017-10-18 15:17:00 -07:00
Alex Crichton
bccba4a996 Disable https on Android SDK fetch
Apparently it no longer works
2017-10-04 16:57:31 -07:00
Tom Kirchner
b9fdcf9467 Add support for aarch64-unknown-linux-musl
Signed-off-by: Tom Kirchner <tjk@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
2017-09-25 14:30:52 -07:00
Alex Crichton
fbfb69b3bc Tweak x86 gnu images
Apparently the 17.10 image broke?
2017-09-19 18:19:35 -07:00
Alex Crichton
050d8c8b0f Update s3 download locations 2017-09-16 09:13:07 -07:00
Alex Crichton
d2044231dc Remove caching and fix FreeBSD tests 2017-09-05 20:18:21 -07:00
Alex Crichton
5822645eb8 Update emscripten to latest 2017-08-27 08:37:15 -07:00
Alex Crichton
22b98dedfe Add asmjs/wasm32 to CI
Rebase of #610 and also move emscripten up much higher in the hierarchy to
ensure that it doesn't have too much of a ripple effect on other platforms.

This involved moving down a good number of definitions, but hopefully was done
with care to not break anything!
2017-08-26 22:15:29 -07:00
Alex Crichton
d424022005 Update Android images/runners 2017-08-21 22:52:06 -07:00
Alex Crichton
bcbfa85651 Leverage Cargo's target runner support to execute tests 2017-08-21 21:41:37 -07:00
Bryant Mairs
2f06a79e23 Run CI tests using cargo
This works by specifying a "runner" for actually executing the binary.
This doesn't apply to the Android or NetBSD runs because there
isn't a simple binary that just runs the executable.
2017-08-21 21:10:28 -07:00
Bryant Mairs
362134d8d6 Simplify iOS builds by using Cargo's RUSTFLAGS support 2017-08-21 10:46:26 -07:00
Bryant Mairs
2e11d9e14c Add more fcntl and seal constants for Android/Linux
We now create an additional binary `linux_fcntl` for testing this
since there are header conflicts when including all necessary headers.
This binary is run on all platforms even though it's empty on all non-
Android/non-Linux platforms.

Testing has been switched from a custom binary to using a runner-less
test (or pair of tests). This means that for local development a simple
`cd libc-test && cargo test` will run all the tests. CI has also been
updated here to reflect that.
2017-08-20 20:52:43 -07:00
Alex Crichton
201d539465 Remove OpenBSD CI
It's now broken due to changes in the `gcc` crate and having a too-old compiler,
and in general it's unfortunately architecturally so different from the other
test frameworks that it's difficult to maintain over time.
2017-08-18 09:34:08 -07:00
Gabriel
39a75af8ee Use Ubuntu 17.10 as the base image 2017-07-19 06:52:06 +02:00
Alex Crichton
7d74c0993c Clean up CI configuration and add s390x
We can't test s390x because qemu segfaults but we can at least verify that it
compiles.

Closes #650
2017-07-07 14:19:06 -07:00
Aidan Hobson Sayers
f305647377 Remove --privileged from docker 2017-07-07 15:01:29 +01:00
Nicolas Dusart
4abc3cefef Update to NDK r15b (with unified headers) and add missing symbols needed by nix crate 2017-07-03 13:26:35 +02:00
Mateusz Sieczko
60d93226ff Add structs defined in linux/input.h 2017-06-14 21:48:41 +02:00
Marco A L Barbosa
2fd7f7a43f Add x86_64-linux-android test 2017-05-03 20:12:49 -03:00
Aidan Hobson Sayers
fef01d6513 Remove docker flags that can cause issues (rust-lang/rust#39036) 2017-04-23 17:48:34 +01:00
Marco A L Barbosa
e1c6dedf62 Add test support for x86_64-linux-android 2017-04-19 11:03:19 -03:00
Marco A L Barbosa
0b05b2a845 Enable kvm in docker images if available 2017-04-19 10:59:04 -03:00
Marco A L Barbosa
599eec3781 Add test support for {aarch64, i686}-linux-android 2017-02-23 16:08:29 -03:00