Hello
While using Linaro 'meta-linaro-toolchain' layer with own definition of AArch64 machine (not using Linaro's meta-aarch64) I have noticed seemingly incorrect use of LINKER_HASH_STYLE variable.
In the current master and morty branches (I have not checked others yet), all meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-*.inc files contain following lines:
EXTRA_OECONF_BASE = "\ --disable-bootstrap \ --disable-libmudflap \ --with-system-zlib \ --with-linker-hash-style=${LINKER_HASH_STYLE} \ --enable-linker-build-id \ --with-ppl=no \ --with-cloog=no \
In my case, during the build, meta/recipes-devtools/gcc/gcc-cross.inc gets included and breaks the libgcc qa checks by incorrectly redefining hash style to SysV (snippet below, this was introduced in morty):
# While we want the 'gnu' hash style, we explicitly set it to sysv here to # ensure that any recipe which doesn't obey our LDFLAGS (which also set it to # gnu) will hit a QA failure. LINKER_HASH_STYLE ?= "sysv"
So, per my understanding, instead of directly using LINKER_HASH_STYLE, Linaro GCC build shall parse LDFLAGS and get correct hash style there. Of course, it may be also hardcoded or otherwise avoided but from the comment above it seems that Yocto engineers explicitly insist on LDFLAGS checking :)
Would this approach (use of LDFLAGS instead of LINKER_HASH_STYLE) be acceptable for meta-linaro?
Best regards, Artem Mygaiev