Skip to content

Commit 7d74c09

Browse files
committed
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 rust-lang#650
1 parent e8140b8 commit 7d74c09

File tree

6 files changed

+46
-77
lines changed

6 files changed

+46
-77
lines changed

.travis.yml

Lines changed: 25 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
language: rust
2+
rust: stable
23
sudo: required
34
dist: trusty
45
services:
@@ -22,109 +23,63 @@ env:
2223
matrix:
2324
include:
2425
# 1.0.0 compat
25-
- os: linux
26-
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
26+
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
2727
rust: 1.0.0
2828
script: cargo build
2929
install:
3030

3131
# build documentation
32-
- os: linux
33-
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
32+
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
3433
rust: nightly
3534
script: sh ci/dox.sh
3635

3736
# stable compat
38-
- os: linux
39-
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
40-
rust: stable
41-
- os: linux
42-
env: TARGET=i686-unknown-linux-gnu
43-
rust: stable
37+
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
38+
- env: TARGET=i686-unknown-linux-gnu
4439
- os: osx
4540
env: TARGET=x86_64-apple-darwin NO_ADD=1
46-
rust: stable
4741
- os: osx
4842
env: TARGET=i686-apple-darwin
49-
rust: stable
50-
- os: linux
51-
env: TARGET=arm-linux-androideabi
52-
rust: stable
53-
- os: linux
54-
env: TARGET=aarch64-linux-android
55-
rust: stable
56-
- os: linux
57-
env: TARGET=i686-linux-android
58-
rust: stable
59-
# as of 2017/05/03 x86_64-linux-android are not on stable
60-
- os: linux
61-
env: TARGET=x86_64-linux-android
62-
rust: beta
63-
- os: linux
64-
env: TARGET=x86_64-unknown-linux-musl
65-
rust: stable
66-
- os: linux
67-
env: TARGET=i686-unknown-linux-musl
68-
rust: stable
69-
- os: linux
70-
env: TARGET=arm-unknown-linux-gnueabihf
71-
rust: stable
72-
- os: linux
73-
env: TARGET=aarch64-unknown-linux-gnu
74-
rust: stable
43+
- env: TARGET=arm-linux-androideabi
44+
- env: TARGET=aarch64-linux-android
45+
- env: TARGET=i686-linux-android
46+
- env: TARGET=x86_64-linux-android
47+
- env: TARGET=x86_64-unknown-linux-musl
48+
- env: TARGET=i686-unknown-linux-musl
49+
- env: TARGET=arm-unknown-linux-gnueabihf
50+
- env: TARGET=aarch64-unknown-linux-gnu
7551
- os: osx
7652
osx_image: xcode8.2
7753
env: TARGET=i386-apple-ios
78-
rust: stable
7954
- os: osx
8055
osx_image: xcode8.2
8156
env: TARGET=x86_64-apple-ios
82-
rust: stable
83-
- os: linux
84-
env: TARGET=x86_64-rumprun-netbsd
85-
rust: stable
86-
- os: linux
87-
env: TARGET=powerpc-unknown-linux-gnu
88-
rust: stable
89-
- os: linux
90-
env: TARGET=powerpc64-unknown-linux-gnu
91-
rust: beta
92-
- os: linux
93-
env: TARGET=mips-unknown-linux-musl
94-
rust: stable
95-
- os: linux
96-
env: TARGET=mipsel-unknown-linux-musl
97-
rust: stable
98-
- os: linux
99-
env: TARGET=mips64-unknown-linux-gnuabi64
100-
rust: beta
101-
- os: linux
102-
env: TARGET=mips-unknown-linux-gnu
103-
rust: beta
57+
- env: TARGET=x86_64-rumprun-netbsd
58+
- env: TARGET=powerpc-unknown-linux-gnu
59+
- env: TARGET=powerpc64-unknown-linux-gnu
60+
- env: TARGET=mips-unknown-linux-musl
61+
- env: TARGET=mipsel-unknown-linux-musl
62+
- env: TARGET=mips64-unknown-linux-gnuabi64
63+
- env: TARGET=mips-unknown-linux-gnu
64+
- env: TARGET=s390x-unknown-linux-gnu
10465

10566
# beta
106-
- os: linux
107-
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
67+
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
10868
rust: beta
10969
- os: osx
11070
env: TARGET=x86_64-apple-darwin NO_ADD=1
11171
rust: beta
11272

11373
# nightly
114-
- os: linux
115-
env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
74+
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
11675
rust: nightly
11776
- os: osx
11877
env: TARGET=x86_64-apple-darwin NO_ADD=1
11978
rust: nightly
12079

12180
# QEMU based targets that compile in an emulator
122-
- os: linux
123-
env: TARGET=x86_64-unknown-freebsd
124-
rust: stable
125-
- os: linux
126-
env: TARGET=x86_64-unknown-openbsd QEMU=openbsd.qcow2
127-
rust: stable
81+
- env: TARGET=x86_64-unknown-freebsd
82+
- env: TARGET=x86_64-unknown-openbsd QEMU=openbsd.qcow2
12883
script: sh ci/run-docker.sh $TARGET
12984
install:
13085

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22

33
name = "libc"
4-
version = "0.2.25"
4+
version = "0.2.26"
55
authors = ["The Rust Project Developers"]
66
license = "MIT/Apache-2.0"
77
readme = "README.md"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM ubuntu:17.04
2+
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
4+
gcc libc6-dev qemu-user ca-certificates \
5+
gcc-s390x-linux-gnu libc6-dev-s390x-cross
6+
7+
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
8+
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
9+
PATH=$PATH:/rust/bin

ci/run.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ case "$TARGET" in
168168
qemu-aarch64 -L /usr/aarch64-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
169169
;;
170170

171+
s390x-unknown-linux-gnu)
172+
# TODO: in theory we should execute this, but qemu segfaults immediately :(
173+
# qemu-s390x -L /usr/s390x-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
174+
;;
175+
171176
*-rumprun-netbsd)
172177
rumprun-bake hw_virtio /tmp/libc-test.img $CARGO_TARGET_DIR/$TARGET/debug/libc-test
173178
qemu-system-x86_64 -nographic -vga none -m 64 \

src/unix/notbsd/linux/s390x.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ pub type greg_t = u64;
1616
pub type clock_t = i64;
1717
pub type __fsword_t = ::c_long;
1818
pub type __priority_which_t = ::c_uint;
19+
pub type __u64 = u64;
1920

2021
s! {
2122
pub struct aiocb {
@@ -777,7 +778,6 @@ pub const CMSPAR: ::tcflag_t = 0o10000000000;
777778
pub const VSWTC: usize = 7;
778779
pub const OLCUC: ::tcflag_t = 0o000002;
779780
pub const NLDLY: ::tcflag_t = 0o000400;
780-
pub const NL1: ::tcflag_t = 0x00000100;
781781
pub const CRDLY: ::tcflag_t = 0o003000;
782782
pub const CR1: ::tcflag_t = 0x00000200;
783783
pub const CR2: ::tcflag_t = 0x00000400;

0 commit comments

Comments
 (0)