Skip to content

Commit ff8ae92

Browse files
authored
Add big-endian build docs (#559)
1 parent 4928f0b commit ff8ae92

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Docs/Building-BE.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ distributions still support BE platforms.
88

99
Even though Arm64 can run in a BE mode, it's now very rare in practice. It's no
1010
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
1212
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
1414
`-static` linkage.
1515

1616
## Host software
@@ -32,9 +32,9 @@ sudo ln -s /usr/mips64-linux-gnuabi64 /etc/qemu-binfmt/mips64
3232

3333
## CMake toolchain file
3434

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
3636
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:
3838

3939
```
4040
# Operating system
@@ -65,15 +65,18 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
6565
## Build astcenc
6666

6767
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`.
6971

7072
```
7173
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../ -DASTCENC_ISA_NONE=ON -DCMAKE_TOOLCHAIN_FILE=../CMake-BE.toolchain ..
7274
```
7375

7476
## Run astcenc
7577

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.
7780

7881
```
7982
qemu-mips64 ./bin/astcenc-none ...

0 commit comments

Comments
 (0)