-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.linux-libc.x86
62 lines (56 loc) · 3.1 KB
/
Dockerfile.linux-libc.x86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# https://github.com/dockcross/dockcross/blob/master/linux-x86/Dockerfile.in
FROM 05nelsonm/build-env.linux-libc.base:latest
RUN echo 'Installing packages for i686' && \
dpkg --add-architecture i386 && \
apt-get update --yes && \
apt-get install --yes \
gcc-multilib \
libc6:i386
ENV CROSS_TRIPLE i686-linux-gnu
ENV CROSS_BIN /usr/${CROSS_TRIPLE}/bin
ENV PATH ${CROSS_BIN}:${PATH}
# Create symlinks for x86_64 binaries that support x86 and x86_64 targets natively
RUN mkdir -p ${CROSS_BIN} && \
cd ${CROSS_BIN} && \
ln -s /usr/bin/x86_64-linux-gnu-ar ${CROSS_TRIPLE}-ar && \
ln -s /usr/bin/x86_64-linux-gnu-as ${CROSS_TRIPLE}-as && \
ln -s /usr/bin/x86_64-linux-gnu-c++filt ${CROSS_TRIPLE}-c++filt && \
ln -s /usr/bin/x86_64-linux-gnu-cpp ${CROSS_TRIPLE}-cpp && \
ln -s /usr/bin/x86_64-linux-gnu-cpp-5 ${CROSS_TRIPLE}-cpp-5 && \
ln -s /usr/bin/x86_64-linux-gnu-dwp ${CROSS_TRIPLE}-dwp && \
ln -s /usr/bin/x86_64-linux-gnu-elfedit ${CROSS_TRIPLE}-elfedit && \
ln -s /usr/bin/x86_64-linux-gnu-g++ ${CROSS_TRIPLE}-g++ && \
ln -s /usr/bin/x86_64-linux-gnu-g++-5 ${CROSS_TRIPLE}-g++-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcc ${CROSS_TRIPLE}-gcc && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-5 ${CROSS_TRIPLE}-gcc-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-ar ${CROSS_TRIPLE}-gcc-ar && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-ar-5 ${CROSS_TRIPLE}-gcc-ar-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-nm ${CROSS_TRIPLE}-gcc-nm && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-nm-5 ${CROSS_TRIPLE}-gcc-nm-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-ranlib ${CROSS_TRIPLE}-gcc-ranlib && \
ln -s /usr/bin/x86_64-linux-gnu-gcc-ranlib-5 ${CROSS_TRIPLE}-gcc-ranlib-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcov ${CROSS_TRIPLE}-gcov && \
ln -s /usr/bin/x86_64-linux-gnu-gcov-5 ${CROSS_TRIPLE}-gcov-5 && \
ln -s /usr/bin/x86_64-linux-gnu-gcov-tool ${CROSS_TRIPLE}-gcov-tool && \
ln -s /usr/bin/x86_64-linux-gnu-gcov-tool-5 ${CROSS_TRIPLE}-gcov-tool-5 && \
ln -s /usr/bin/x86_64-linux-gnu-ld ${CROSS_TRIPLE}-ld && \
ln -s /usr/bin/x86_64-linux-gnu-ld.gold ${CROSS_TRIPLE}-ld.gold && \
ln -s /usr/bin/x86_64-linux-gnu-nm ${CROSS_TRIPLE}-nm && \
ln -s /usr/bin/x86_64-linux-gnu-objcopy ${CROSS_TRIPLE}-objcopy && \
ln -s /usr/bin/x86_64-linux-gnu-objdump ${CROSS_TRIPLE}-objdump && \
ln -s /usr/bin/x86_64-linux-gnu-pkg-config ${CROSS_TRIPLE}-pkg-config && \
ln -s /usr/bin/x86_64-linux-gnu-ranlib ${CROSS_TRIPLE}-ranlib && \
ln -s /usr/bin/x86_64-linux-gnu-readelf ${CROSS_TRIPLE}-readelf && \
ln -s /usr/bin/x86_64-linux-gnu-size ${CROSS_TRIPLE}-size && \
ln -s /usr/bin/x86_64-linux-gnu-strings ${CROSS_TRIPLE}-strings && \
ln -s /usr/bin/x86_64-linux-gnu-strip ${CROSS_TRIPLE}-strip
ENV AR=${CROSS_BIN}/${CROSS_TRIPLE}-ar \
AS=${CROSS_BIN}/${CROSS_TRIPLE}-as \
CC=${CROSS_BIN}/${CROSS_TRIPLE}-gcc \
CPP=${CROSS_BIN}/${CROSS_TRIPLE}-cpp \
CXX=${CROSS_BIN}/${CROSS_TRIPLE}-g++ \
LD=${CROSS_BIN}/${CROSS_TRIPLE}-ld \
RANLIB=${CROSS_BIN}/${CROSS_TRIPLE}-ranlib \
STRIP=${CROSS_BIN}/${CROSS_TRIPLE}-strip
COPY entrypoint_linux32.sh /var/opt
ENTRYPOINT ["/var/opt/entrypoint_linux32.sh"]