Skip to content

Commit da1aca0

Browse files
committed
Add initial CI support for mips64(el)-unknown-linux-muslabi64 targets
1 parent 8d6dd33 commit da1aca0

File tree

5 files changed

+50
-0
lines changed

5 files changed

+50
-0
lines changed

ci/azure.yml

+4
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,12 @@ jobs:
5858
TARGET: mips-unknown-linux-musl
5959
mips64-unknown-linux-gnuabi64:
6060
TARGET: mips64-unknown-linux-gnuabi64
61+
mips64-unknown-linux-muslabi64:
62+
TARGET: mips64-unknown-linux-muslabi64
6163
mips64el-unknown-linux-gnuabi64:
6264
TARGET: mips64el-unknown-linux-gnuabi64
65+
mips64el-unknown-linux-muslabi64:
66+
TARGET: mips64el-unknown-linux-muslabi64
6367
mipsel-unknown-linux-musl:
6468
TARGET: mipsel-unknown-linux-musl
6569
#powerpc-unknown-linux-gnu:

ci/build.sh

+2
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ i686-unknown-netbsd \
204204
i686-unknown-openbsd \
205205
mips-unknown-linux-uclibc \
206206
mipsel-unknown-linux-uclibc \
207+
mips64-unknown-linux-muslabi64 \
208+
mips64el-unknown-linux-muslabi64 \
207209
nvptx64-nvidia-cuda \
208210
powerpc-unknown-linux-gnuspe \
209211
powerpc-unknown-netbsd \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM ubuntu:19.04
2+
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
4+
gcc make libc6-dev git curl ca-certificates \
5+
gcc-mips64-linux-gnuabi64 qemu-user
6+
7+
COPY install-musl.sh /
8+
RUN sh /install-musl.sh mips64
9+
10+
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
11+
ENV PATH=$PATH:/musl-mips64/bin:/rust/bin \
12+
CC_mips64_unknown_linux_muslabi64=musl-gcc \
13+
RUSTFLAGS='-Clink-args=-lgcc' \
14+
CARGO_TARGET_MIPS64_UNKNOWN_LINUX_MUSLABI64_LINKER=musl-gcc \
15+
CARGO_TARGET_MIPS64_UNKNOWN_LINUX_MUSLABI64_RUNNER="qemu-mips64 -L /musl-mips64"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM ubuntu:19.04
2+
3+
RUN apt-get update && apt-get install -y --no-install-recommends \
4+
gcc make libc6-dev git curl ca-certificates \
5+
gcc-mips64el-linux-gnuabi64 qemu-user
6+
7+
COPY install-musl.sh /
8+
RUN sh /install-musl.sh mips64el
9+
10+
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
11+
ENV PATH=$PATH:/musl-mips64el/bin:/rust/bin \
12+
CC_mips64el_unknown_linux_muslabi64=musl-gcc \
13+
RUSTFLAGS='-Clink-args=-lgcc' \
14+
CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_MUSLABI64_LINKER=musl-gcc \
15+
CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_MUSLABI64_RUNNER="qemu-mips64el -L /musl-mips64el"

ci/install-musl.sh

+14
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,20 @@ case ${1} in
4646
./configure --prefix="/musl-${musl_arch}"
4747
make install -j4
4848
;;
49+
mips64)
50+
musl_arch=mips64
51+
kernel_arch=mips
52+
CC=mips64-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \
53+
./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
54+
make install -j4
55+
;;
56+
mips64el)
57+
musl_arch=mips64el
58+
kernel_arch=mips
59+
CC=mips64el-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \
60+
./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes
61+
make install -j4
62+
;;
4963
*)
5064
echo "Unknown target arch: \"${1}\""
5165
exit 1

0 commit comments

Comments
 (0)