diff --git a/.github/workflows/bors.yml b/.github/workflows/bors.yml index 50d0fac8b0122436519d5c2421de840457c81129..abcc01765e9e7cc6777545129b0a0e28df4827a1 100644 --- a/.github/workflows/bors.yml +++ b/.github/workflows/bors.yml @@ -131,6 +131,9 @@ jobs: x86_64-linux-android, x86_64-unknown-linux-gnux32, x86_64-unknown-linux-musl, + # FIXME: It seems some items in `src/unix/mod.rs` + # aren't defined on redox actually. + # x86_64-unknown-redox, ] steps: - uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master diff --git a/ci/build.sh b/ci/build.sh index 9decfb75cfb5d341a129102946730ebdf3c40b47..ba186f3af5586a96e98b1ed0a34eba5cfc65cc52 100644 --- a/ci/build.sh +++ b/ci/build.sh @@ -137,9 +137,6 @@ RUST_GT_1_24_LINUX_TARGETS="\ i586-unknown-linux-musl \ " -# FIXME: temporarirly disable the redox target -# https://github.com/rust-lang/libc/issues/1457 -# x86_64-unknown-redox RUST_NIGHTLY_LINUX_TARGETS="\ aarch64-fuchsia \ armv5te-unknown-linux-gnueabi \ @@ -151,6 +148,7 @@ x86_64-fortanix-unknown-sgx \ x86_64-fuchsia \ x86_64-pc-windows-gnu \ x86_64-unknown-linux-gnux32 \ +x86_64-unknown-redox \ " RUST_OSX_TARGETS="\ diff --git a/ci/docker/x86_64-unknown-redox/Dockerfile b/ci/docker/x86_64-unknown-redox/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..91b0cbabdc0b661da143da2cc0245f843013332b --- /dev/null +++ b/ci/docker/x86_64-unknown-redox/Dockerfile @@ -0,0 +1,9 @@ +FROM redoxos/redoxer + +RUN mv /root/.redoxer /.redoxer + +ENV PATH=$PATH:/.redoxer/toolchain/bin:/rust/bin \ + AR_x86_64_unknown_redox="x86_64-unknown-redox-ar" \ + CC_x86_64_unknown_redox="x86_64-unknown-redox-gcc" \ + CARGO_TARGET_X86_64_UNKNOWN_REDOX_LINKER="x86_64-unknown-redox-gcc" \ + CARGO_TARGET_X86_64_UNKNOWN_REDOX_RUNNER="redoxer exec --folder ." diff --git a/libc-test/build.rs b/libc-test/build.rs index 65b049a9cce75e03a72011562ef43be14c5ef001..649e3699e5ae21d47249940a29172c2c659d197a 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -8,7 +8,7 @@ use std::env; fn do_cc() { let target = env::var("TARGET").unwrap(); if cfg!(unix) { - let exclude = ["wasi"]; + let exclude = ["redox", "wasi"]; if !exclude.iter().any(|x| target.contains(x)) { let mut cmsg = cc::Build::new(); @@ -537,54 +537,37 @@ fn test_redox(target: &str) { "dirent.h", "dlfcn.h", "errno.h", - "execinfo.h", "fcntl.h", - "glob.h", "grp.h", - "ifaddrs.h", - "langinfo.h", "limits.h", "locale.h", - "net/if.h", - "net/if_arp.h", - "net/route.h", "netdb.h", "netinet/in.h", "netinet/ip.h", "netinet/tcp.h", - "netinet/udp.h", "poll.h", - "pthread.h", "pwd.h", - "resolv.h", - "sched.h", "semaphore.h", "string.h", "strings.h", "sys/file.h", "sys/ioctl.h", "sys/mman.h", - "sys/mount.h", "sys/ptrace.h", - "sys/quota.h", "sys/resource.h", "sys/socket.h", "sys/stat.h", "sys/statvfs.h", - "sys/sysctl.h", "sys/time.h", - "sys/times.h", "sys/types.h", "sys/uio.h", "sys/un.h", "sys/utsname.h", "sys/wait.h", - "syslog.h", "termios.h", "time.h", "unistd.h", "utime.h", - "utmpx.h", "wchar.h", }