1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-04-20 23:41:08 +00:00

gcc-arm: add re-staging of unwind.h from external-arm-toolchain

gcc-target.inc expects unwind.h to come from and be staged by libgcc.
When TCMODE="external-arm" libgcc is provided by external-arm-toolchain.bb
And while it stages the necessary unwind.h file, it ends up in slightly
different location, so re-stage it. More details are in the comments.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Denys Dmytriyenko
2020-05-05 22:15:31 -04:00
committed by Jon Mason
parent 13535294f6
commit 198f96ed20
4 changed files with 20 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# gcc-target.inc in OE-Core has these 2 lines in do_install():
#
# | # Add unwind.h, it comes from libgcc which we don't want to build again
# | install ${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/gcc/${TARGET_SYS}/${BINV}/include/unwind.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
#
# When TCMODE="external-arm" libgcc is provided by external-arm-toolchain.bb
# And while it stages the necessary unwind.h file, it ends up in slightly
# different location. While this is a kludge, be very conservative - only
# copy the file for target build in recipe-specific sysroot, in external-arm
# toolchain mode and if the required file does not exist already.
do_install_prepend_class-target () {
if [ "${TCMODE}" = "external-arm" -a ! -f ${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/gcc/${TARGET_SYS}/${BINV}/include/unwind.h ]; then
install -d ${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/gcc/${TARGET_SYS}/${BINV}/include/
install ${STAGING_LIBDIR}/gcc/${EAT_TARGET_SYS}/${EAT_VER_GCC}/include/unwind.h ${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/gcc/${TARGET_SYS}/${BINV}/include/
fi
}

View File

@@ -1,5 +1,6 @@
require recipes-devtools/gcc/gcc-${PV}.inc
require recipes-devtools/gcc/gcc-target.inc
require recipes-devtools/gcc/gcc-arm-common.inc
# Building with thumb enabled on armv4t armv5t fails with
# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs

View File

@@ -1,5 +1,6 @@
require recipes-devtools/gcc/gcc-${PV}.inc
require recipes-devtools/gcc/gcc-target.inc
require recipes-devtools/gcc/gcc-arm-common.inc
# Building with thumb enabled on armv4t armv5t fails with
# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs

View File

@@ -1,5 +1,6 @@
require recipes-devtools/gcc/gcc-${PV}.inc
require recipes-devtools/gcc/gcc-target.inc
require recipes-devtools/gcc/gcc-arm-common.inc
# Building with thumb enabled on armv4t armv5t fails with
# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs