diff options
author | Khem Raj <raj.khem@gmail.com> | 2008-08-01 21:35:52 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2008-08-01 21:35:52 +0000 |
commit | 4e7ae46ad6cc64bbca328c6a134d01b3b84ed4a4 (patch) | |
tree | 5021e5e4c36016455f480a1663ad3de8c1e9bc0a /packages/gcc | |
parent | d456d49e1fdf767483638fa489d1248d83a82ea3 (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.inc | 7 |
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 () { : } |