packaging: cross-compile for the FP6's own cores
The phone is one SoC, 4x Cortex-A520 + 4x Cortex-A720, and the package is built for nothing else, so build for it: -march=armv8.6-a+fp16fml+aes+sha3+sm4 -mtune=cortex-a720 instead of the generic Armv8 baseline. That is gcc's own -march=native expansion on the phone, re-based on armv8.6-a so clang can express the same set; 8.6 is the highest level whose mandatory set the phone exposes (8.7 would assume WFxT, 9.x SVE2 - neither is in its hwcaps, and SVE2 code would SIGILL). Same string as the fp6-img aports and kernel.
This commit is contained in:
parent
1987275a54
commit
452634683c
2 changed files with 6 additions and 2 deletions
|
|
@ -110,7 +110,7 @@ make install # DESTDIR/PREFIX staged install incl. the packaging/ files
|
||||||
packaging/make-sysroot.sh # one-time: Alpine aarch64 sysroot from the CDN
|
packaging/make-sysroot.sh # one-time: Alpine aarch64 sysroot from the CDN
|
||||||
crafter-build -- --target=aarch64-alpine-linux-musl \
|
crafter-build -- --target=aarch64-alpine-linux-musl \
|
||||||
--sysroot=$HOME/.cache/imsd/sysroot-aarch64-alpine \
|
--sysroot=$HOME/.cache/imsd/sysroot-aarch64-alpine \
|
||||||
--march=armv8-a --mtune=generic
|
--march=armv8.6-a+fp16fml+aes+sha3+sm4 --mtune=cortex-a720
|
||||||
# same flags after `crafter-build test --target=aarch64-alpine-linux-musl`
|
# same flags after `crafter-build test --target=aarch64-alpine-linux-musl`
|
||||||
# run the suite under qemu-aarch64 against the sysroot
|
# run the suite under qemu-aarch64 against the sysroot
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,11 @@ retry "make sysroot" "$SRC/packaging/make-sysroot.sh" "$SYSROOT"
|
||||||
# host arch — the aarch64 binaries are additionally exercised by fp6-img's
|
# host arch — the aarch64 binaries are additionally exercised by fp6-img's
|
||||||
# chroot `make check` whenever an image builds)
|
# chroot `make check` whenever an image builds)
|
||||||
cd "$SRC"
|
cd "$SRC"
|
||||||
XTARGET="--target=aarch64-alpine-linux-musl --sysroot=$SYSROOT --march=armv8-a --mtune=generic"
|
# The phone is one SoC, 4x Cortex-A520 + 4x Cortex-A720, so build for it.
|
||||||
|
# armv8.6-a is the highest level whose mandatory set it exposes (8.7 would
|
||||||
|
# assume WFxT, 9.x SVE2 - neither is in its hwcaps); +fp16fml+aes+sha3+sm4 are
|
||||||
|
# the optional extensions it has. Same string as the fp6-img aports.
|
||||||
|
XTARGET="--target=aarch64-alpine-linux-musl --sysroot=$SYSROOT --march=armv8.6-a+fp16fml+aes+sha3+sm4 --mtune=cortex-a720"
|
||||||
crafter-build -- $XTARGET
|
crafter-build -- $XTARGET
|
||||||
crafter-build -- --product=media $XTARGET
|
crafter-build -- --product=media $XTARGET
|
||||||
crafter-build -- --product=dialerd $XTARGET
|
crafter-build -- --product=dialerd $XTARGET
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue