diff options
author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2011-03-09 09:26:13 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-03-10 18:14:13 -0800 |
commit | cbbfbfc54f3661f49a4b314eb187a09d7955226a (patch) | |
tree | f421eb6d366b9bf58f3d9e215e68b81041629c95 | |
parent | 4f28cd2d1854df8e6f56544fe509fb2e3ddce9aa (diff) | |
download | poky-cbbfbfc54f3661f49a4b314eb187a09d7955226a.tar.gz |
gcc-runtime: fix LSB library checks for libstdc++.so.6
[YOCTO #795]
When we run library check of LSB on qemux86 and qemuppc, we got some failures
about 'libstdc++.so.6'.
Test environment:
Platform: Qemu-x86, Qemu-ppc
lsb image: poky-image-lsb-qemux86-test.ext3(Feb 26th, auto-build server)
Library check of LSB: 4.1.0-1
The error log:
Did not find _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc (GLIBCXX_3.4) in libstdc++.so.6
Unmangled symbol name: std::ctype<char>::do_widen(char const*, char const*,
char*) const
...
found that some weak symbols ('W') change into local ('t') during link time
and be stripped. According to compiling log, the option
"-fvisibility-inlines-hidden" is used for gcc. And this option caused some weak
symbols change into local.
see http://bugzilla.pokylinux.org/show_bug.cgi?id=795 for more information on the bug.
(From OE-Core rev: 4bb281ef5f12096d0889ba8efcc3fd3bb0ed3b3c)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-configure-runtime.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc index 6cc11e2ffe..2d214afe51 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc | |||
@@ -1,5 +1,8 @@ | |||
1 | require gcc-configure-common.inc | 1 | require gcc-configure-common.inc |
2 | 2 | ||
3 | CXXFLAGS = "${@oe_filter_out('-fvisibility-inlines-hidden', | ||
4 | '${CXXFLAGS}', d)}" | ||
5 | |||
3 | EXTRA_OECONF_PATHS = " \ | 6 | EXTRA_OECONF_PATHS = " \ |
4 | --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \ | 7 | --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \ |
5 | --with-gxx-include-dir=${includedir}/c++/ \ | 8 | --with-gxx-include-dir=${includedir}/c++/ \ |
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb index 093f9bf963..c1e680d3c0 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | |||
@@ -1,4 +1,4 @@ | |||
1 | PR = "r2" | 1 | PR = "r3" |
2 | 2 | ||
3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
4 | require gcc-configure-runtime.inc | 4 | require gcc-configure-runtime.inc |