]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc-runtime: fix LSB library checks for libstdc++.so.6
authorNitin A Kamble <nitin.a.kamble@intel.com>
Wed, 9 Mar 2011 09:26:13 +0000 (09:26 +0000)
committerKhem Raj <raj.khem@gmail.com>
Wed, 9 Mar 2011 04:41:18 +0000 (20:41 -0800)
[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.

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>
meta/recipes-devtools/gcc/gcc-configure-runtime.inc
meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb

index 6cc11e2ffe64c9152504f374e6abe13eac2a7475..2d214afe51eeb6ab6450ddd16ea3af83ab26deb1 100644 (file)
@@ -1,5 +1,8 @@
 require gcc-configure-common.inc
 
+CXXFLAGS = "${@oe_filter_out('-fvisibility-inlines-hidden',
+'${CXXFLAGS}', d)}" 
+
 EXTRA_OECONF_PATHS = " \
     --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \
     --with-gxx-include-dir=${includedir}/c++/ \
index 093f9bf9638416c8a4dfb53735944726105b75dc..c1e680d3c04eff5ae62e6a581302a32306312200 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r2"
+PR = "r3"
 
 require gcc-${PV}.inc
 require gcc-configure-runtime.inc