diff options
author | Changqing Li <changqing.li@windriver.com> | 2020-08-14 14:35:23 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-08-15 11:43:51 +0100 |
commit | 509022ea8db314dd9d010a478fd84d0234905c6b (patch) | |
tree | 21ba6485eb010a8e2125484678d9bcb2d1473660 /meta/recipes-devtools/gcc | |
parent | 5c117379dec1e33216fcbaf49d2b6130adf54bc1 (diff) | |
download | openembedded-core-contrib-509022ea8db314dd9d010a478fd84d0234905c6b.tar.gz |
gcc-runtime.inc: fix m32 compile fail with x86-64 compiler
configuration:
MACHINE ??= "qemux86-64"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 ?= "core2-32"
IMAGE_INSTALL_append = " packagegroup-core-buildessential lib32-libstdc++ lib32-libstdc++-dev"
m32 compile failed on target:
cmd: gcc -m32 -v test.cpp -o test
output:
GGC heuristics: --param ggc-min-expand=45 --param ggc-min-heapsize=29590
ignoring nonexistent directory "/usr/lib64/gcc/x86_64-poky-linux/10.1.0/../../../../include/c++/10.1.0/x86_64-poky-linux/32"
ignoring nonexistent directory "/usr/lib64/x86_64-poky-linux/10.1.0/include"
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib64/gcc/x86_64-poky-linux/10.1.0/../../../../x86_64-poky-linux/include"
/usr/lib64/gcc/x86_64-poky-linux/10.1.0/../../../../include/c++/10.1.0
/usr/lib64/gcc/x86_64-poky-linux/10.1.0/../../../../include/c++/10.1.0/backward
/usr/lib64/gcc/x86_64-poky-linux/10.1.0/include
/usr/lib64/gcc/x86_64-poky-linux/10.1.0/include-fixed
/usr/include
End of search list.
GNU C++14 (GCC) version 10.1.0 (x86_64-poky-linux)
compiled by GNU C version 10.1.0, GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version none
GGC heuristics: --param ggc-min-expand=45 --param ggc-min-heapsize=29590
Compiler executable checksum: bc3b2f3a33dad80e30112cf1235bf631
In file included from test.cpp:1:
/usr/include/c++/10.1.0/iostream:38:10: fatal error: bits/c++config.h: No such file or directory
38 | #include <bits/c++config.h>
| ^~~~~~~~~~~~~~~~~~
cannot find header since
/usr/lib64/gcc/x86_64-poky-linux/10.1.0/x86_64-poky-linux/32 is missing
fixed by link it to ../i686-poky-linux
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime.inc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index df1432e68d..9dcce26536 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -138,6 +138,10 @@ do_install_append_class-target () { ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext fi + if [ "${TARGET_ARCH}" == "x86_64" -a "${MULTILIB_VARIANTS}" != "" ];then + ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32 + fi + if [ "${TCLIBC}" != "glibc" ]; then case "${TARGET_OS}" in "linux-musl" | "linux-*spe") extra_target_os="linux";; |