summaryrefslogtreecommitdiff
path: root/packages/gcc
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 /packages/gcc
parentd456d49e1fdf767483638fa489d1248d83a82ea3 (diff)
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.
Diffstat (limited to 'packages/gcc')
-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 () {
:
}