aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2008-08-01 21:35:52 +0000
committerKhem Raj <raj.khem@gmail.com>2008-08-01 21:35:52 +0000
commit4e7ae46ad6cc64bbca328c6a134d01b3b84ed4a4 (patch)
tree5021e5e4c36016455f480a1663ad3de8c1e9bc0a
parentd456d49e1fdf767483638fa489d1248d83a82ea3 (diff)
downloadopenembedded-4e7ae46ad6cc64bbca328c6a134d01b3b84ed4a4.tar.gz
Delete dummy libc.so that was created during glibc-initial step.
This library is overwritten by a linker script file called libc.so during complete glibc install so the packaged built after glibc is staged are fine. But the binaries/libraries that build with glibc and depend on libc.so in some form see this dummy libc.so and gets things wrong. This fix deletes the dummy libc.so before gcc-intermediate is staged. Because the main purpose of dummy libc.so is to get gcc-intermediate built with shared lib support. Ideally this libc.so should be deleted right after do_configure of gcc-intermediate but gcc's configure is spread across and some configure stuff happens during compile step. Therefore its best to delete this libc.so after the compile step is done.
-rw-r--r--packages/gcc/gcc-cross-intermediate.inc7
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/gcc/gcc-cross-intermediate.inc b/packages/gcc/gcc-cross-intermediate.inc
index 4fa12886f1..de260ed981 100644
--- a/packages/gcc/gcc-cross-intermediate.inc
+++ b/packages/gcc/gcc-cross-intermediate.inc
@@ -16,6 +16,13 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
${@get_gcc_fpu_setting(bb, d)}"
+do_stage_prepend () {
+ # get rid of dummy libc.so
+ if [ -z "`file ${STAGING_DIR_TARGET}${layout_libdir}/libc.so | grep "ASCII C program text"`" ]; then
+ rm -rf ${STAGING_DIR_TARGET}${layout_libdir}/libc.so
+ fi
+}
+
do_install () {
:
}