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:
committed by
Jon Mason
parent
13535294f6
commit
198f96ed20
17
meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-common.inc
Normal file
17
meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-common.inc
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user