@@ -6,7 +6,6 @@ RUN apt-get install -y --force-yes --no-install-recommends \
6
6
python-dev python-pip stunnel \
7
7
bzip2 xz-utils \
8
8
g++ libc6-dev \
9
- g++-4.8-aarch64-linux-gnu libc6-dev-arm64-cross \
10
9
g++-4.8-powerpc-linux-gnu libc6-dev-powerpc-cross \
11
10
g++-4.8-powerpc64le-linux-gnu libc6-dev-ppc64el-cross \
12
11
lib64gcc-4.8-dev-powerpc-cross libc6-dev-ppc64-powerpc-cross \
@@ -50,6 +49,7 @@ RUN /bin/bash build_toolchain_root.sh && \
50
49
chown rustbuild:rustbuild /build && \
51
50
chown rustbuild:rustbuild /x-tools
52
51
COPY linux-cross/build_toolchain.sh \
52
+ linux-cross/aarch64-linux-gnu.config \
53
53
linux-cross/arm-linux-gnueabi.config \
54
54
linux-cross/arm-linux-gnueabihf.config \
55
55
linux-cross/mips-linux-musl.config \
@@ -58,14 +58,16 @@ COPY linux-cross/build_toolchain.sh \
58
58
/build/
59
59
USER rustbuild
60
60
61
- # Build two full toolchains for the `arm-unknown-linux-gneuabi` and
62
- # `arm-unknown-linux-gnueabihf` targets. We build toolchains from scratch to
63
- # primarily move to an older glibc. Ubuntu does indeed have these toolchains in
64
- # its repositories (so we could install that package), but they package a
65
- # relatively newer version of glibc. In order for the binaries we produce to be
66
- # maximall compatible, we push the glibc version back to 2.14
61
+ # Build three full toolchains for the `arm-unknown-linux-gneuabi`,
62
+ # `arm-unknown-linux-gnueabihf` and `aarch64-unknown-linux-gnu` targets. We
63
+ # build toolchains from scratch to primarily move to an older glibc. Ubuntu
64
+ # does indeed have these toolchains in its repositories (so we could install
65
+ # that package), but they package a relatively newer version of glibc. In order
66
+ # for the binaries we produce to be maximall compatible, we push the glibc
67
+ # version back to 2.14 for arm and 2.17 for aarch64
67
68
RUN /bin/bash build_toolchain.sh arm-linux-gnueabi
68
69
RUN /bin/bash build_toolchain.sh arm-linux-gnueabihf
70
+ RUN /bin/bash build_toolchain.sh aarch64-linux-gnu
69
71
70
72
# Also build two full toolchains for the `{mips,mipsel}-unknown-linux-musl`
71
73
# targets. Currently these are essentially aliases to run on OpenWRT devices and
@@ -101,10 +103,17 @@ USER root
101
103
# Rename all the compilers we just built into /usr/bin and also without
102
104
# `-unknown-` in the name because it appears lots of other compilers in Ubuntu
103
105
# don't have this name in the component by default either.
106
+ # Also the aarch64 compiler is prefixed with `aarch64-unknown-linux-gnueabi`
107
+ # by crosstool-ng, but Ubuntu just prefixes it with `aarch64-linux-gnu` so
108
+ # we'll, additionally, strip the eabi part from its binaries.
104
109
RUN \
105
110
for f in `ls /x-tools/*-unknown-linux-*/bin/*-unknown-linux-*`; do \
106
111
g=`basename $f`; \
107
112
ln -vs $f /usr/bin/`echo $g | sed -e 's/-unknown//' `; \
113
+ done && \
114
+ for f in `ls /usr/bin/aarch64-linux-gnueabi-*`; do \
115
+ g=`basename $f`; \
116
+ mv -v $f /usr/bin/`echo $g | sed -e 's/eabi//' `; \
108
117
done
109
118
110
119
COPY linux-cross/build_freebsd_toolchain.sh /tmp/
0 commit comments