Skip to content

Commit d8ce721

Browse files
committed
linux-armv6: upgrade to Debian 11 (glibc 2.31)
Allows use of the standard crossbuild tooling
1 parent 6651f42 commit d8ce721

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

npm/linux-arm/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
},
2929
"type": "commonjs",
3030
"config": {
31-
"glibc": ">=2.28"
31+
"glibc": ">=2.31"
3232
},
3333
"os": [
3434
"linux"

platforms/linux-armv6/Dockerfile

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
FROM debian:buster
1+
FROM debian:bullseye
22
LABEL maintainer="Lovell Fuller <[email protected]>"
33

4-
# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv6 binaries
4+
# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux ARMv6 binaries
55

66
# Path settings
77
ENV \
88
RUSTUP_HOME="/usr/local/rustup" \
99
CARGO_HOME="/usr/local/cargo" \
10-
PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin:$PATH"
10+
PATH="/usr/local/cargo/bin:$PATH"
1111

1212
# Build dependencies
1313
RUN \
@@ -19,6 +19,7 @@ RUN \
1919
autoconf \
2020
autopoint \
2121
cmake \
22+
crossbuild-essential-armhf \
2223
gettext \
2324
git \
2425
gperf \
@@ -30,8 +31,6 @@ RUN \
3031
python3-packaging \
3132
python3-pip \
3233
&& \
33-
mkdir /root/tools && \
34-
curl -Ls https://github.com/rvagg/rpi-newer-crosstools/archive/master.tar.gz | tar xzC /root/tools --strip-components=1 && \
3534
curl https://sh.rustup.rs -sSf | sh -s -- -y \
3635
--no-modify-path \
3736
--profile minimal \
@@ -44,7 +43,7 @@ RUN \
4443
ENV \
4544
PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \
4645
PLATFORM="linux-armv6" \
47-
CHOST="arm-rpi-linux-gnueabihf" \
46+
CHOST="arm-linux-gnueabihf" \
4847
RUST_TARGET="arm-unknown-linux-gnueabihf" \
4948
FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" \
5049
WITHOUT_NEON="true" \

platforms/linux-armv6/Toolchain.cmake

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux)
22
set(CMAKE_SYSTEM_VERSION 1)
33
set(CMAKE_SYSTEM_PROCESSOR armv6-a)
44

5-
SET(CMAKE_C_COMPILER arm-rpi-linux-gnueabihf-gcc)
6-
set(CMAKE_CXX_COMPILER arm-rpi-linux-gnueabihf-g++)
7-
SET(CMAKE_AR arm-rpi-linux-gnueabihf-ar)
8-
SET(CMAKE_STRIP arm-rpi-linux-gnueabihf-strip)
9-
SET(CMAKE_RANLIB arm-rpi-linux-gnueabihf-ranlib)
5+
SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
6+
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
7+
SET(CMAKE_AR arm-linux-gnueabihf-ar)
8+
SET(CMAKE_STRIP arm-linux-gnueabihf-strip)
9+
SET(CMAKE_RANLIB arm-linux-gnueabihf-ranlib)
1010

1111
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
1212
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

platforms/linux-armv6/meson.ini

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ cpu = 'armv6-a'
55
endian = 'little'
66

77
[binaries]
8-
c = 'arm-rpi-linux-gnueabihf-gcc'
9-
cpp = 'arm-rpi-linux-gnueabihf-g++'
10-
ar = 'arm-rpi-linux-gnueabihf-ar'
11-
nm = 'arm-rpi-linux-gnueabihf-gcc-nm'
12-
ld = 'arm-rpi-linux-gnueabihf-gcc-ld'
13-
strip = 'arm-rpi-linux-gnueabihf-strip'
14-
ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib'
8+
c = 'arm-linux-gnueabihf-gcc'
9+
cpp = 'arm-linux-gnueabihf-g++'
10+
ar = 'arm-linux-gnueabihf-ar'
11+
nm = 'arm-linux-gnueabihf-gcc-nm'
12+
ld = 'arm-linux-gnueabihf-gcc-ld'
13+
strip = 'arm-linux-gnueabihf-strip'
14+
ranlib = 'arm-linux-gnueabihf-gcc-ranlib'
1515

1616
[built-in options]
1717
libdir = 'lib'

0 commit comments

Comments
 (0)