From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Denys Dmytriyenko (15): tcmode-external-arm: use correct EAT_ prefix instead of ELT_ for TARGET_SYS external-arm-toolchain: also support 32-bit arm toolchains tcmode-external-arm: uncomment preference for virtual/${TARGET_PREFIX}binutils external-arm-toolchain: package header files into linux-libc-headers-dev external-arm-toolchain: libgcc_s.so in base_libdir is not a symlink, but a linker script external-arm-toolchain: package c++ headers external-arm-toolchain: some packages rdepend on ldd, so allow creating empty package external-arm-toolchain: fix host contamination QA issue external-arm-toolchain: switch from ${COREBASE}/LICENSE to ${COMMON_LICENSE_DIR}/MIT external-arm-toolchain: libasan/libubsan bump major version number external-arm-toolchain: libcidn is no longer packaged external-arm-toolchain: libnsl was split off of glibc and is a separate package now external-arm-toolchain: rpcsvc/rquota.* headers are now provided by separate quota package external-arm-toolchain: also provide virtual/libc-locale external-arm-toolchain: also set proper RPROVIDES for glibc-staticdev
.../include/external-arm-toolchain-versions.inc | 8 +-- .../conf/distro/include/tcmode-external-arm.inc | 17 +++-- .../external-arm-toolchain.bb | 76 ++++++++++++---------- 3 files changed, 56 insertions(+), 45 deletions(-)
From: Denys Dmytriyenko denys@ti.com
Use correct EAT (External Arm Toolchain) prefix instead of ELT (External Linaro Toolchain) one for TARGET_SYS variable, as it expects that in other places.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../conf/distro/include/tcmode-external-arm.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc index 5f3a4e6..0f4e1d8 100644 --- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc +++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc @@ -7,10 +7,10 @@ EXTERNAL_TOOLCHAIN ?= "/usr/local/arm-binary-toolchain/${TARGET_ARCH}" TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:" PATH =. "${TOOLCHAIN_PATH_ADD}"
-ELT_TARGET_SYS_arm ?= "arm-linux-gnueabihf" -ELT_TARGET_SYS_aarch64 ?= "aarch64-linux-gnu" -ELT_TARGET_SYS = "${TARGET_SYS}" -TARGET_PREFIX = "${ELT_TARGET_SYS}-" +EAT_TARGET_SYS_arm ?= "arm-linux-gnueabihf" +EAT_TARGET_SYS_aarch64 ?= "aarch64-linux-gnu" +EAT_TARGET_SYS = "${TARGET_SYS}" +TARGET_PREFIX = "${EAT_TARGET_SYS}-"
GCCMULTILIB_forcevariable = "--disable-multilib" IMAGE_LINGUAS_forcevariable = "" @@ -40,8 +40,8 @@ PREFERRED_PROVIDER_glibc-mtrace = "external-arm-toolchain" PREFERRED_PROVIDER_libc-mtrace = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-arm-toolchain"
-TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${ELT_TARGET_SYS}/include " -TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${ELT_TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${ELT_TARGET_SYS}/lib " +TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/include " +TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/lib "
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"
From: Denys Dmytriyenko denys@ti.com
Remove hardcoding of "lib64" and "aarch64" and allow usage with 32-bit arm toolchains, like arm-linux-gnueabihf.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../include/external-arm-toolchain-versions.inc | 8 +++--- .../conf/distro/include/tcmode-external-arm.inc | 3 +++ .../external-arm-toolchain.bb | 31 +++++++++++----------- 3 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc b/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc index 7064d6b..6c3acec 100644 --- a/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc +++ b/meta-linaro-toolchain/conf/distro/include/external-arm-toolchain-versions.inc @@ -49,28 +49,28 @@ def eat_get_libc_version(d): if not syspath: return 'UNKNOWN'
- libpath = syspath + '/libc/lib64/' + bb.data.expand('${EAT_TARGET_SYS}/', d) + libpath = syspath + '/libc/' + bb.data.expand('${EAT_LIBDIR}/${EAT_TARGET_SYS}/', d)
if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3]
- libpath = syspath + '/libc/lib64/' + libpath = syspath + '/libc/' + bb.data.expand('${EAT_LIBDIR}/', d)
if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3]
- libpath = syspath + '/libc/usr/lib64/' + bb.data.expand('${EAT_TARGET_SYS}/', d) + libpath = syspath + '/libc/usr/' + bb.data.expand('${EAT_LIBDIR}/${EAT_TARGET_SYS}/', d)
if os.path.exists(libpath): for file in os.listdir(libpath): if file.find('libc-') == 0: return file[5:-3]
- libpath = syspath + '/libc/usr/lib64/' + libpath = syspath + '/libc/usr/' + bb.data.expand('${EAT_LIBDIR}/', d)
if os.path.exists(libpath): for file in os.listdir(libpath): diff --git a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc index 0f4e1d8..fc92d96 100644 --- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc +++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc @@ -12,6 +12,9 @@ EAT_TARGET_SYS_aarch64 ?= "aarch64-linux-gnu" EAT_TARGET_SYS = "${TARGET_SYS}" TARGET_PREFIX = "${EAT_TARGET_SYS}-"
+EAT_LIBDIR_arm = "lib" +EAT_LIBDIR_aarch64 = "lib64" + GCCMULTILIB_forcevariable = "--disable-multilib" IMAGE_LINGUAS_forcevariable = ""
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index a105cfc..cdb7329 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -17,7 +17,6 @@ PROVIDES += "\ virtual/${TARGET_PREFIX}g++ \ virtual/${TARGET_PREFIX}gcc-initial \ virtual/${TARGET_PREFIX}binutils \ - binutils-cross-aarch64 \ virtual/${TARGET_PREFIX}libc-for-gcc \ virtual/${TARGET_PREFIX}compilerlibs \ virtual/libc \ @@ -73,21 +72,21 @@ do_install() { install -d ${D}${datadir} install -d ${D}${includedir}
- cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/lib64/* ${D}${base_libdir} - if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/${EAT_TARGET_SYS}/* ${D}${base_libdir} + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/* ${D}${base_libdir} + if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${base_libdir} else - if [ -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/ld-${EAT_VER_LIBC}.so ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/* ${D}${base_libdir} + if [ -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/* ${D}${base_libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/*.so* ${D}${base_libdir} + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/*.so* ${D}${base_libdir} fi fi - if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/${EAT_TARGET_SYS}/* ${D}${libdir} + if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/lib64/* ${D}${libdir} - if [ ! -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib64/ld-${EAT_VER_LIBC}.so ]; then + cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/* ${D}${libdir} + if [ ! -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then rm -rf ${D}${libdir}/*.so* fi fi @@ -191,19 +190,19 @@ do_install() { fi
if [ -f ${D}${libdir}/libc.so ];then - sed -i -e "s# /lib64/${EAT_TARGET_SYS}# ../../lib64#g" -e "s# /usr/lib64/# /usr/lib/#g" -e "s# /usr/lib64/${EAT_TARGET_SYS}# .#g" -e "s# /lib64/ld-linux# ../../lib64/ld-linux#g" ${D}${libdir}/libc.so - sed -i -e "s# /lib64/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so # cat kjasdkjasd fi
if [ -f ${D}${base_libdir}/libc.so ];then - sed -i -e "s# /lib64/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/lib64/${EAT_TARGET_SYS}# .#g" "s# /lib64/# /lib/#g" ${D}${base_libdir}/libc.so + sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so if [ -f ${D}${base_libdir}/libc.so.6 ]; then - sed -i -e "s# /usr/lib64/libc.so.6# /lib/libc.so.6#g" "s# /lib64/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6 + sed -i -e "s# /usr/${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6 fi fi if [ -f ${D}${base_libdir}/libpthread.so.0 ]; then - sed -i -e "s# /usr/lib64/libpthread.so.0# /lib/libpthread.so.0#g" ${D}${base_libdir}/libpthread.so.0 + sed -i -e "s# /usr/${EAT_LIBDIR}/libpthread.so.0# /lib/libpthread.so.0#g" ${D}${base_libdir}/libpthread.so.0 fi
# Remove if empty
From: Denys Dmytriyenko denys@ti.com
external-arm-toolchain does provide virtual/${TARGET_PREFIX}binutils, so set default preference accordingly.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc index fc92d96..4074d6d 100644 --- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc +++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-arm.inc @@ -29,7 +29,7 @@ PREFERRED_PROVIDER_linux-libc-headers-dev = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-arm-toolchain" -#PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-arm-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-arm-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-arm-toolchain" PREFERRED_PROVIDER_glibc = "external-arm-toolchain"
From: Denys Dmytriyenko denys@ti.com
Regular linux-libc-headers package uses standard packaging split code and headers end up in ${PN}-dev package, while main ${PN} remains empty. Follow the same model and package headers into linux-libc-headers-dev.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index cdb7329..55db963 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -444,7 +444,8 @@ FILES_libtsan-staticdev = "${base_libdir}/libtsan.a" FILES_libgcc = "${base_libdir}/libgcc_s.so.1" FILES_libgcc-dev = "${libdir}/libgcc_s.so"
-FILES_linux-libc-headers = "\ +FILES_linux-libc-headers = "" +FILES_linux-libc-headers-dev = "\ ${includedir}/asm* \ ${includedir}/linux \ ${includedir}/mtd \
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 55db963..09c5f41 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -441,7 +441,10 @@ FILES_libtsan-dev = "\ " FILES_libtsan-staticdev = "${base_libdir}/libtsan.a"
-FILES_libgcc = "${base_libdir}/libgcc_s.so.1" +FILES_libgcc = " \ + ${base_libdir}/libgcc_s.so.1 \ + ${base_libdir}/libgcc_s.so \ +" FILES_libgcc-dev = "${libdir}/libgcc_s.so"
FILES_linux-libc-headers = ""
From: Denys Dmytriyenko denys@ti.com
Since c++ headers are part of gcc and not glibc, they are not located in libc/usr/include/, but instead in include/, so copy and install them too. Also, set up a symlink in case any code looks for them in include/
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 09c5f41..0c0d38d 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -71,6 +71,7 @@ do_install() { install -d ${D}${libexecdir} install -d ${D}${datadir} install -d ${D}${includedir} + install -d ${D}/include
cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/* ${D}${base_libdir} if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then @@ -97,6 +98,9 @@ do_install() { rm -r ${D}${includedir}/${EAT_TARGET_SYS} fi
+ cp -a ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/include/* ${D}${includedir} + ln -sf ../usr/include/c++ ${D}/include/c++ + # fix up the copied symlinks (they are still pointing to the multiarch directory) linker_name="${@bb.utils.contains("TUNE_FEATURES", "aarch64", "ld-linux-aarch64.so.1", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "ld-linux-armhf.so.3", "ld-linux.so.3",d), d)}" ln -sf ld-${EAT_VER_LIBC}.so ${D}${base_libdir}/${linker_name} @@ -513,6 +517,7 @@ FILES_${PN}-dbg += "${base_libdir}/debug"
FILES_libstdc++ = "${base_libdir}/libstdc++.so.*" FILES_libstdc++-dev = "\ + /include/c++ \ ${includedir}/c++/ \ ${base_libdir}/libstdc++.so \ ${base_libdir}/libstdc++.la \
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 0c0d38d..dfe0b5e 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -4,6 +4,8 @@ INHIBIT_DEFAULT_DEPS = "1" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+ALLOW_EMPTY_ldd = "1" + # License applies to this recipe code, not the toolchain itself LICENSE = "MIT" LIC_FILES_CHKSUM = "\
From: Denys Dmytriyenko denys@ti.com
Fixes bunch of these warnings: WARNING: external-arm-toolchain-2019.01-r0 do_package_qa: QA Issue: external-arm-toolchain: <filename> is owned by uid 1000, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index dfe0b5e..6f47051 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -75,28 +75,29 @@ do_install() { install -d ${D}${includedir} install -d ${D}/include
- cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/* ${D}${base_libdir} + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/${EAT_LIBDIR}/* ${D}${base_libdir} if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${base_libdir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${base_libdir} else if [ -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/* ${D}${base_libdir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/* ${D}${base_libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/*.so* ${D}${base_libdir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/*.so* ${D}${base_libdir} fi fi if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${libdir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}/* ${D}${libdir} else - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/* ${D}${libdir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/${EAT_LIBDIR}/* ${D}${libdir} if [ ! -f ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/${EAT_LIBDIR}/ld-${EAT_VER_LIBC}.so ]; then rm -rf ${D}${libdir}/*.so* fi fi - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/share/* ${D}${datadir} - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/include/* ${D}${includedir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/share/* ${D}${datadir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/include/* ${D}${includedir} if [ -d ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/include/${EAT_TARGET_SYS} ]; then - cp -a -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/include/${EAT_TARGET_SYS}/* ${D}${includedir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/include/${EAT_TARGET_SYS}/* ${D}${includedir} rm -r ${D}${includedir}/${EAT_TARGET_SYS} fi
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 6f47051..4cdfb13 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -9,7 +9,7 @@ ALLOW_EMPTY_ldd = "1" # License applies to this recipe code, not the toolchain itself LICENSE = "MIT" LIC_FILES_CHKSUM = "\ - file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ "
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 4cdfb13..c6e8541 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -135,8 +135,8 @@ do_install() { ln -sf ../../lib/libitm.so.1 ${D}${libdir}/libitm.so ln -sf ../../lib/libssp.so.0 ${D}${libdir}/libssp.so ln -sf ../../lib/libstdc++.so.6 ${D}${libdir}/libstdc++.so - ln -sf ../../lib/libubsan.so.0 ${D}${libdir}/libubsan.so - # ln -sf ../../lib/libasan.so.1 ${D}${libdir}/libasan.so + ln -sf ../../lib/libubsan.so.1 ${D}${libdir}/libubsan.so + ln -sf ../../lib/libasan.so.5 ${D}${libdir}/libasan.so ln -sf ../../lib/libgfortran.so.5 ${D}${libdir}/libgfortran.so
# remove potential .so duplicates from base_libdir
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 5 ----- 1 file changed, 5 deletions(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index c6e8541..d8847c3 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -117,7 +117,6 @@ do_install() { ln -sf ../../lib/libutil.so.1 ${D}${libdir}/libutil.so ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so -# ln -sf ../../lib/libcidn.so.1 ${D}${libdir}/libcidn.so ln -sf ../../lib/libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db.so ln -sf ../../lib/libpthread.so.0 ${D}${libdir}/libpthread.so @@ -151,7 +150,6 @@ do_install() { rm -f ${D}${base_libdir}/libutil.so rm -f ${D}${base_libdir}/libnss_files.so rm -f ${D}${base_libdir}/libnss_compat.so -# rm -f ${D}${base_libdir}/libcidn.so rm -f ${D}${base_libdir}/libBrokenLocale.so rm -f ${D}${base_libdir}/libthread_db.so rm -f ${D}${base_libdir}/libanl.so @@ -334,7 +332,6 @@ PKGV_${PN}-staticdev = "${EAT_VER_LIBC}" PKGV_catchsegv = "${EAT_VER_LIBC}" PKGV_glibc-extra-nss = "${EAT_VER_LIBC}" PKGV_glibc-thread-db = "${EAT_VER_LIBC}" -# PKGV_libcidn = "${EAT_VER_LIBC}"
PKGV_libmemusage = "${EAT_VER_LIBC}" PKGV_libsegfault = "${EAT_VER_LIBC}" @@ -507,14 +504,12 @@ FILES_${PN} += "\ ${base_libdir}/libanl-*.so \ ${base_libdir}/libBrokenLocale*.so.* \ ${base_libdir}/libBrokenLocale-*.so \ - ${base_libdir}/libcidn-*.so \ ${base_libdir}/libthread_db*.so.* \ ${base_libdir}/libthread_db-*.so \ ${base_libdir}/libmemusage.so \ ${base_libdir}/libSegFault.so \ ${base_libdir}/libpcprofile.so \ " -# ${base_libdir}/libcidn*.so.*
FILES_${PN}-dbg += "${base_libdir}/debug"
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index d8847c3..840069c 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -107,7 +107,6 @@ do_install() { # fix up the copied symlinks (they are still pointing to the multiarch directory) linker_name="${@bb.utils.contains("TUNE_FEATURES", "aarch64", "ld-linux-aarch64.so.1", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "ld-linux-armhf.so.3", "ld-linux.so.3",d), d)}" ln -sf ld-${EAT_VER_LIBC}.so ${D}${base_libdir}/${linker_name} - ln -sf ../../lib/libnsl.so.1 ${D}${libdir}/libnsl.so ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so ln -sf ../../lib/libgcc_s.so.1 ${D}${libdir}/libgcc_s.so ln -sf ../../lib/libcrypt.so.1 ${D}${libdir}/libcrypt.so @@ -123,7 +122,6 @@ do_install() { ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db-1.0.so ln -sf ../../lib/libanl.so.1 ${D}${libdir}/libanl.so ln -sf ../../lib/libdl.so.2 ${D}${libdir}/libdl.so -# ln -sf ../../lib/libnss_nisplus.so.2 ${D}${libdir}/libnss_nisplus.so ln -sf ../../lib/libnss_db.so.2 ${D}${libdir}/libnss_db.so ln -sf ../../lib/libnss_dns.so.2 ${D}${libdir}/libnss_dns.so ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so @@ -140,7 +138,6 @@ do_install() {
# remove potential .so duplicates from base_libdir # for all symlinks created above in libdir - rm -f ${D}${base_libdir}/libnsl.so rm -f ${D}${base_libdir}/librt.so rm -f ${D}${base_libdir}/libcrypt.so rm -f ${D}${base_libdir}/libnss_nis.so @@ -194,6 +191,9 @@ do_install() { rm -rf ${D}${base_libdir}/ldscripts fi
+ # Provided by libnsl2 + rm -rf ${D}${includedir}/rpcsvc/yppasswd.* + if [ -f ${D}${libdir}/libc.so ];then sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so @@ -484,8 +484,6 @@ FILES_${PN} += "\ ${base_libdir}/librt-*.so \ ${base_libdir}/libutil*.so.* \ ${base_libdir}/libutil-*.so \ - ${base_libdir}/libnsl*.so.* \ - ${base_libdir}/libnsl-*.so \ ${base_libdir}/libnss_files*.so.* \ ${base_libdir}/libnss_files-*.so \ ${base_libdir}/libnss_compat*.so.* \
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 840069c..4d833c0 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -193,6 +193,8 @@ do_install() {
# Provided by libnsl2 rm -rf ${D}${includedir}/rpcsvc/yppasswd.* + # Provided by quota + rm -rf ${D}${includedir}/rpcsvc/rquota.*
if [ -f ${D}${libdir}/libc.so ];then sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
From: Denys Dmytriyenko denys@ti.com
Normally provided by glibc-locale.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 1 + 1 file changed, 1 insertion(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 4d833c0..fc28b5d 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -52,6 +52,7 @@ PROVIDES += "\ libquadmath-staticdev \ virtual/linux-libc-headers \ libgcov-dev \ + virtual/libc-locale \ "
PV = "${EAT_VER_MAIN}"
From: Denys Dmytriyenko denys@ti.com
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb | 1 + 1 file changed, 1 insertion(+)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index fc28b5d..9bc6fae 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -301,6 +301,7 @@ INSANE_SKIP_gdbserver += "ldflags" RPROVIDES_${PN} = "glibc" # Add runtime provides for the other libc* packages as well RPROVIDES_${PN}-dev = "glibc-dev" +RPROVIDES_${PN}-staticdev = "glibc-staticdev" RPROVIDES_${PN}-doc = "glibc-doc" RPROVIDES_${PN}-dbg = "glibc-dbg" RPROVIDES_${PN}-pic = "glibc-pic"
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
regards,
Koen
Denys Dmytriyenko (15): tcmode-external-arm: use correct EAT_ prefix instead of ELT_ for TARGET_SYS external-arm-toolchain: also support 32-bit arm toolchains tcmode-external-arm: uncomment preference for virtual/${TARGET_PREFIX}binutils external-arm-toolchain: package header files into linux-libc-headers-dev external-arm-toolchain: libgcc_s.so in base_libdir is not a symlink, but a linker script external-arm-toolchain: package c++ headers external-arm-toolchain: some packages rdepend on ldd, so allow creating empty package external-arm-toolchain: fix host contamination QA issue external-arm-toolchain: switch from ${COREBASE}/LICENSE to ${COMMON_LICENSE_DIR}/MIT external-arm-toolchain: libasan/libubsan bump major version number external-arm-toolchain: libcidn is no longer packaged external-arm-toolchain: libnsl was split off of glibc and is a separate package now external-arm-toolchain: rpcsvc/rquota.* headers are now provided by separate quota package external-arm-toolchain: also provide virtual/libc-locale external-arm-toolchain: also set proper RPROVIDES for glibc-staticdev
.../include/external-arm-toolchain-versions.inc | 8 +-- .../conf/distro/include/tcmode-external-arm.inc | 17 +++-- .../external-arm-toolchain.bb | 76 ++++++++++++---------- 3 files changed, 56 insertions(+), 45 deletions(-)
-- 2.7.4
OpenEmbedded mailing list OpenEmbedded@lists.linaro.org https://lists.linaro.org/mailman/listinfo/openembedded
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
1. There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
2. Once everything is fixed, can this be backported to thud branch? It was released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
regards,
Koen
-- Denys
Denys Dmytriyenko (15): tcmode-external-arm: use correct EAT_ prefix instead of ELT_ for TARGET_SYS external-arm-toolchain: also support 32-bit arm toolchains tcmode-external-arm: uncomment preference for virtual/${TARGET_PREFIX}binutils external-arm-toolchain: package header files into linux-libc-headers-dev external-arm-toolchain: libgcc_s.so in base_libdir is not a symlink, but a linker script external-arm-toolchain: package c++ headers external-arm-toolchain: some packages rdepend on ldd, so allow creating empty package external-arm-toolchain: fix host contamination QA issue external-arm-toolchain: switch from ${COREBASE}/LICENSE to ${COMMON_LICENSE_DIR}/MIT external-arm-toolchain: libasan/libubsan bump major version number external-arm-toolchain: libcidn is no longer packaged external-arm-toolchain: libnsl was split off of glibc and is a separate package now external-arm-toolchain: rpcsvc/rquota.* headers are now provided by separate quota package external-arm-toolchain: also provide virtual/libc-locale external-arm-toolchain: also set proper RPROVIDES for glibc-staticdev
.../include/external-arm-toolchain-versions.inc | 8 +-- .../conf/distro/include/tcmode-external-arm.inc | 17 +++-- .../external-arm-toolchain.bb | 76 ++++++++++++---------- 3 files changed, 56 insertions(+), 45 deletions(-)
-- 2.7.4
OpenEmbedded mailing list OpenEmbedded@lists.linaro.org https://lists.linaro.org/mailman/listinfo/openembedded
On Wed, Feb 06, 2019 at 09:30:04AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
I guess I can try living with 2.31 from oe-core/thud, should be close enough. Hopefully won't cause any issues...
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
Would be nice, thanks.
Also, have you tried building qtwebkit from meta-qt5 for aarch64 with this Arm toolchain? I had no problems building it with gcc 8.2 from oe-core, but now getting:
/opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62
Any ideas? Thanks.
Op 6 feb. 2019, om 22:58 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Wed, Feb 06, 2019 at 09:30:04AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
I guess I can try living with 2.31 from oe-core/thud, should be close enough. Hopefully won't cause any issues...
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
Would be nice, thanks.
Also, have you tried building qtwebkit from meta-qt5 for aarch64 with this Arm toolchain? I had no problems building it with gcc 8.2 from oe-core, but now getting:
/opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62
Any ideas? Thanks.
While I haven’t tried webkit, I get this when trying to build go (for docker):
| Building std for target, linux/arm64. | # /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go-tmp/go-build841039236/b189/libstd.so | /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go/pkg/tool/native_native/link: running aarch64-linux-gnu-gcc failed: exit status 1 | /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62 | collect2: error: ld returned 1 exit status
Google suggests ’62’ is x86_64, so something is getting misdetect. And like you gcc 8.2 from OE-core has not issues with this. I’m going to sort out the packaging issues first before looking at this. Linaro bugzilla has an entry for this prebuilt arm toolchain nowadays, so could you file a bug for this?
regards,
Koen
On Thu, Feb 07, 2019 at 11:07:21AM +0100, Koen Kooi wrote:
Op 6 feb. 2019, om 22:58 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Wed, Feb 06, 2019 at 09:30:04AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
I guess I can try living with 2.31 from oe-core/thud, should be close enough. Hopefully won't cause any issues...
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
Would be nice, thanks.
Also, have you tried building qtwebkit from meta-qt5 for aarch64 with this Arm toolchain? I had no problems building it with gcc 8.2 from oe-core, but now getting:
/opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62
Any ideas? Thanks.
While I haven’t tried webkit, I get this when trying to build go (for docker):
| Building std for target, linux/arm64. | # /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go-tmp/go-build841039236/b189/libstd.so | /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go/pkg/tool/native_native/link: running aarch64-linux-gnu-gcc failed: exit status 1 | /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62 | collect2: error: ld returned 1 exit status
Google suggests ’62’ is x86_64, so something is getting misdetect. And like you gcc 8.2 from OE-core has not issues with this. I’m going to sort out the packaging issues first before looking at this.
Any updates on packaging issues?
Linaro bugzilla has an entry for this prebuilt arm toolchain nowadays, so could you file a bug for this?
https://bugs.linaro.org/show_bug.cgi?id=4284
Op 13 feb. 2019, om 01:54 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Thu, Feb 07, 2019 at 11:07:21AM +0100, Koen Kooi wrote:
Op 6 feb. 2019, om 22:58 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Wed, Feb 06, 2019 at 09:30:04AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
> Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven: > > From: Denys Dmytriyenko denys@ti.com > > Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
I guess I can try living with 2.31 from oe-core/thud, should be close enough. Hopefully won't cause any issues...
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
Would be nice, thanks.
Also, have you tried building qtwebkit from meta-qt5 for aarch64 with this Arm toolchain? I had no problems building it with gcc 8.2 from oe-core, but now getting:
/opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62
Any ideas? Thanks.
While I haven’t tried webkit, I get this when trying to build go (for docker):
| Building std for target, linux/arm64. | # /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go-tmp/go-build841039236/b189/libstd.so | /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go/pkg/tool/native_native/link: running aarch64-linux-gnu-gcc failed: exit status 1 | /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62 | collect2: error: ld returned 1 exit status
Google suggests ’62’ is x86_64, so something is getting misdetect. And like you gcc 8.2 from OE-core has not issues with this. I’m going to sort out the packaging issues first before looking at this.
Any updates on packaging issues?
Fixed and merged into master, please give it a try and see if I missed something.
Linaro bugzilla has an entry for this prebuilt arm toolchain nowadays, so could you file a bug for this?
Thanks!
On Wed, Feb 13, 2019 at 09:59:38AM +0100, Koen Kooi wrote:
Op 13 feb. 2019, om 01:54 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Thu, Feb 07, 2019 at 11:07:21AM +0100, Koen Kooi wrote:
Op 6 feb. 2019, om 22:58 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Wed, Feb 06, 2019 at 09:30:04AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote: > >> Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven: >> >> From: Denys Dmytriyenko denys@ti.com >> >> Fixes for the recently introduced external ARM toolchain support. > > Thanks for all these! I had done 1/15 already locally and was reworking the > FILES_* based on OE-core changes. I’ll fold your patches into my patchset > and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming...
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
I’m a bit hesitant to add that, since the ‘arm-2.30’ version is unmodified upstream 2.30. But leaving ‘arm’ out of the name will lead to many, many emails from confused users :/
I guess I can try living with 2.31 from oe-core/thud, should be close enough. Hopefully won't cause any issues...
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
It’s on my TODO, but very low down since it hasn’t been requested yet internally.
Would be nice, thanks.
Also, have you tried building qtwebkit from meta-qt5 for aarch64 with this Arm toolchain? I had no problems building it with gcc 8.2 from oe-core, but now getting:
/opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /opt/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62
Any ideas? Thanks.
While I haven’t tried webkit, I get this when trying to build go (for docker):
| Building std for target, linux/arm64. | # /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go-tmp/go-build841039236/b189/libstd.so | /build/rpb-master/build-rpb/tmp-rpb-glibc/work/aarch64-linaro-linux/go-runtime/1.11.4-r0/go/pkg/tool/native_native/link: running aarch64-linux-gnu-gcc failed: exit status 1 | /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.2.1/../../../../aarch64-linux-gnu/bin/ld.gold: fatal error: /home/koen/arm-toolchain/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/8.2.1/liblto_plugin.so: unsupported ELF machine number 62 | collect2: error: ld returned 1 exit status
Google suggests ’62’ is x86_64, so something is getting misdetect. And like you gcc 8.2 from OE-core has not issues with this. I’m going to sort out the packaging issues first before looking at this.
Any updates on packaging issues?
Fixed and merged into master, please give it a try and see if I missed something.
Thanks! Seems to work fine. How about back-porting it to thud now? :) Let me know if you'd like me to submit patches - like I said earlier, it needs some fixing around gcc-cross{,sdk}-initial recipes...
Linaro bugzilla has an entry for this prebuilt arm toolchain nowadays, so could you file a bug for this?
Thanks!
Have you had any luck with this issue? I haven't yet looked too close into it myself though.
Op 5 feb. 2019, om 17:32 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
On Tue, Feb 05, 2019 at 11:24:58AM +0100, Koen Kooi wrote:
Op 5 feb. 2019, om 07:48 heeft Denys Dmytriyenko denis@denix.org het volgende geschreven:
From: Denys Dmytriyenko denys@ti.com
Fixes for the recently introduced external ARM toolchain support.
Thanks for all these! I had done 1/15 already locally and was reworking the FILES_* based on OE-core changes. I’ll fold your patches into my patchset and push that to gerrit later today.
Sounds good, thanks! I'm still working on other areas, such as using EAT in SDK. Will probably have more fixes coming…
I’m keeping my WIP branch here: https://git.linaro.org/people/koen.kooi/meta-linaro.git/log/?h=master-extern...
regards,
Koen
But I have 2 requests:
- There's "arm-8.2" recipe now, thanks. Can we also get "arm-2.30" version
of binutils? Trying to match the versions and oe-core/thud has 2.31, while oe-core/master has 2.32.
- Once everything is fixed, can this be backported to thud branch? It was
released with gcc 8.2, so should fit nicely. The only difference is that master removed gcc-cross{,sdk}-initial, which needs to be fixed for thud: https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=1107d1a2d3bb9...
-- Denys
Denys Dmytriyenko (15): tcmode-external-arm: use correct EAT_ prefix instead of ELT_ for TARGET_SYS external-arm-toolchain: also support 32-bit arm toolchains tcmode-external-arm: uncomment preference for virtual/${TARGET_PREFIX}binutils external-arm-toolchain: package header files into linux-libc-headers-dev external-arm-toolchain: libgcc_s.so in base_libdir is not a symlink, but a linker script external-arm-toolchain: package c++ headers external-arm-toolchain: some packages rdepend on ldd, so allow creating empty package external-arm-toolchain: fix host contamination QA issue external-arm-toolchain: switch from ${COREBASE}/LICENSE to ${COMMON_LICENSE_DIR}/MIT external-arm-toolchain: libasan/libubsan bump major version number external-arm-toolchain: libcidn is no longer packaged external-arm-toolchain: libnsl was split off of glibc and is a separate package now external-arm-toolchain: rpcsvc/rquota.* headers are now provided by separate quota package external-arm-toolchain: also provide virtual/libc-locale external-arm-toolchain: also set proper RPROVIDES for glibc-staticdev
.../include/external-arm-toolchain-versions.inc | 8 +-- .../conf/distro/include/tcmode-external-arm.inc | 17 +++-- .../external-arm-toolchain.bb | 76 ++++++++++++---------- 3 files changed, 56 insertions(+), 45 deletions(-)
-- 2.7.4
OpenEmbedded mailing list OpenEmbedded@lists.linaro.org https://lists.linaro.org/mailman/listinfo/openembedded