@@ -8,9 +8,9 @@ distributions still support BE platforms.
8
8
9
9
Even though Arm64 can run in a BE mode, it's now very rare in practice. It's no
10
10
longer supported out of the box in the latest Arm upstream compiler releases,
11
- and getting hold of a sysroot is increasingly painful . To test BE builds I
11
+ and getting hold of a sysroot is increasingly difficult . To test BE builds, I
12
12
therefore cross-compile Linux builds for MIPS64 and use ` qemu-user ` to run
13
- them. This doesn't use a real sysroot, so everything must be compiled with
13
+ them. This doesn't use a real sysroot, and so everything must be compiled with
14
14
` -static ` linkage.
15
15
16
16
## Host software
@@ -32,9 +32,9 @@ sudo ln -s /usr/mips64-linux-gnuabi64 /etc/qemu-binfmt/mips64
32
32
33
33
## CMake toolchain file
34
34
35
- Cross-compiling needs an correctly configured CMake, and the easiest way to
35
+ Cross-compiling needs a correctly configured CMake, and the easiest way to
36
36
do this consistently is to use a toolchain file. Create a ` CMake-BE.toolchain `
37
- file with the following content in the root of the project:
37
+ file in the root of the project, with the following content :
38
38
39
39
```
40
40
# Operating system
@@ -65,15 +65,18 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
65
65
## Build astcenc
66
66
67
67
Building uses CMake as normal, with the additional specification of the
68
- toolchain file to configure the build for cross-compilation.
68
+ toolchain file to configure the build for cross-compilation. We don't have any
69
+ SIMD implementations for big-endian architectures so these builds must compile
70
+ for the reference C SIMD implementation, ` ASTCENC_ISA_NONE ` .
69
71
70
72
```
71
73
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_NONE=ON -DCMAKE_TOOLCHAIN_FILE=../CMake-BE.toolchain ..
72
74
```
73
75
74
76
## Run astcenc
75
77
76
- The cross-compiled ` astcenc ` binary runs as normal, and can access host files, but must run through QEMU to do the instruction-set translation.
78
+ The cross-compiled ` astcenc ` binary runs as normal, and can access host files,
79
+ but must run through QEMU to do the instruction set translation.
77
80
78
81
```
79
82
qemu-mips64 ./bin/astcenc-none ...
0 commit comments