summaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-02-28 04:14:47 +0000
committerbors <bors@rust-lang.org>2021-02-28 04:14:47 +0000
commit5fd6540db9b14fae02ff8a11a6102ee99965ae30 (patch)
tree6f1361fb02402747ef6a70349726fc46ed71b054 /ci
parent1524495dcf85e1f806835a5223dbe10cc15586db (diff)
parent41cda2abdc6cf000ec4f4faf7dde727a95a45beb (diff)
downloadrust-libc-5fd6540db9b14fae02ff8a11a6102ee99965ae30.tar.gz
Auto merge of #2071 - kaniini:s390x-musl, r=Amanieu
add definitions for s390x musl targets Add support for s390x musl targets to libc. I haven't added CI because I am not familiar with the pipelines, but would be glad to do so if somebody outlines what needs to be done.
Diffstat (limited to 'ci')
-rw-r--r--ci/docker/s390x-unknown-linux-musl/Dockerfile17
-rw-r--r--ci/install-musl.sh7
2 files changed, 24 insertions, 0 deletions
diff --git a/ci/docker/s390x-unknown-linux-musl/Dockerfile b/ci/docker/s390x-unknown-linux-musl/Dockerfile
new file mode 100644
index 0000000000..f83ee8c9c8
--- /dev/null
+++ b/ci/docker/s390x-unknown-linux-musl/Dockerfile
@@ -0,0 +1,17 @@
+FROM ubuntu:20.04
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ curl ca-certificates \
+ gcc \
+ gcc-s390x-linux-gnu \
+ qemu-user
+
+COPY install-musl.sh /
+RUN sh /install-musl.sh s390x
+
+# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
+ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
+ CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="qemu-s390x -L /musl-s390x" \
+ CC_s390x_unknown_linux_gnu=musl-gcc \
+ RUSTFLAGS='-Clink-args=-lgcc' \
+ PATH=$PATH:/musl-s390x/bin:/rust/bin
diff --git a/ci/install-musl.sh b/ci/install-musl.sh
index 88cb4f0b11..54fd343f07 100644
--- a/ci/install-musl.sh
+++ b/ci/install-musl.sh
@@ -60,6 +60,13 @@ case ${1} in
./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
make install -j4
;;
+ s390x)
+ musl_arch=s390x
+ kernel_arch=s390
+ CC=s390x-linux-gnu-gcc \
+ ./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
+ make install -j4
+ ;;
*)
echo "Unknown target arch: \"${1}\""
exit 1