When we try to build images for machine which is tuned for
cortex-a32, then libgcc-initial recipe fails to build with
below error message.
-- snip --
configure:3529: aarch64-poky-linux-gcc -mcpu=cortex-a32+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=.../tmp/work/aarch64-poky-linux/libgcc-initial/9.2.0-r0/recipe-sysroot -o conftest -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=.../tmp/work/aarch64-poky-linux/libgcc-initial/9.2.0-r0=/usr/src/debug/libgcc-initial/9.2.0-r0 -fdebug-prefix-map=.../tmp/work/aarch64-poky-linux/libgcc-initial/9.2.0-r0=/usr/src/debug/libgcc-initial/9.2.0-r0 -fdebug-prefix-map=.../tmp/work/aarch64-poky-linux/libgcc-initial/9.2.0-r0/recipe-sysroot= -fdebug-prefix-map=.../tmp/work/aarch64-poky-linux/libgcc-initial/9.2.0-r0/recipe-sysroot-native= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now conftest.c >&5
aarch64-poky-linux-gcc: fatal error: unknown value 'cortex-a32+crc' for '-mcpu'
-- snip --
- Replacing TUNE_FEATURES from aarch64 to armv8a will solve the above
build issue.
- Changed BASE_LIB to 'lib', as cortex-a32 is a 32bit ARMv8a architecture.
The sample machine config file (qemuarma32.conf) used to reproduce
the error looks like:
-- snip --
require conf/machine/include/tune-cortexa32.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "Image"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
KMACHINE_qemuarma32 = "qemuarm64"
-- snip --
Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
AVAILTUNES += "cortexa32 cortexa32-crypto"
ARMPKGARCH_tune-cortexa32 = "cortexa32"
ARMPKGARCH_tune-cortexa32-crypto = "cortexa32"
-TUNE_FEATURES_tune-cortexa32 = "aarch64 cortexa32 crc"
-TUNE_FEATURES_tune-cortexa32-crypto = "aarch64 cortexa32 crc crypto"
+TUNE_FEATURES_tune-cortexa32 = "armv8a cortexa32 crc"
+TUNE_FEATURES_tune-cortexa32-crypto = "armv8a cortexa32 crc crypto"
PACKAGE_EXTRA_ARCHS_tune-cortexa32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa32"
PACKAGE_EXTRA_ARCHS_tune-cortexa32-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa32 cortexa32-crypto"
-BASE_LIB_tune-cortexa32 = "lib64"
-BASE_LIB_tune-cortexa32-crypto = "lib64"
+BASE_LIB_tune-cortexa32 = "lib"
+BASE_LIB_tune-cortexa32-crypto = "lib"