diff options
author | Richard Purdie <richard@openedhand.com> | 2008-07-24 20:30:37 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-07-24 20:30:37 +0000 |
commit | 87796f6ce02df30375057fac934685d109f99be3 (patch) | |
tree | 419fb9887ca981ada36fc0071c8078f35d4f82f2 | |
parent | f9651fac68352c9cfa6c616ae50f711c32e7bf32 (diff) | |
download | ast2050-yocto-poky-87796f6ce02df30375057fac934685d109f99be3.zip ast2050-yocto-poky-87796f6ce02df30375057fac934685d109f99be3.tar.gz |
gcc: Add toolchain build process changes from OE which adds gcc-cross-intermediate and removes glibc-intermediate based on a patch from Khem Raj as will be aplied to OE.dev making the build process much more rebust/stable/correct.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4943 311d38ba-8fff-0310-9ca6-ca027cbcb966
30 files changed, 158 insertions, 68 deletions
diff --git a/meta/conf/distro/include/poky-eabi.inc b/meta/conf/distro/include/poky-eabi.inc index 7787e3d..cf2f336 100644 --- a/meta/conf/distro/include/poky-eabi.inc +++ b/meta/conf/distro/include/poky-eabi.inc @@ -6,9 +6,10 @@ TARGET_VENDOR = "-poky" -PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross" @@ -24,10 +25,10 @@ BINUVERSION = "2.18" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}" PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}" +PREFERRED_VERSION_gcc-cross-intermediate ?= "${GCCVERSION}" PREFERRED_VERSION_binutils ?= "${BINUVERSION}" PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}" PREFERRED_VERSION_linux-libc-headers ?= "2.6.24" PREFERRED_VERSION_glibc ?= "2.6.1" -PREFERRED_VERSION_glibc-intermediate ?= "2.6.1" PREFERRED_VERSION_glibc-initial ?= "2.6.1" PREFERRED_VERSION_elfutils ?= "0.108" diff --git a/meta/conf/distro/include/poky-uclibc.inc b/meta/conf/distro/include/poky-uclibc.inc index fcd65c9..72e016a 100644 --- a/meta/conf/distro/include/poky-uclibc.inc +++ b/meta/conf/distro/include/poky-uclibc.inc @@ -3,6 +3,7 @@ # PREFERRED_PROVIDER_virtual/libc = "uclibc" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "uclibc" PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv" PREFERRED_PROVIDER_virtual/libintl ?= "gettext" diff --git a/meta/packages/gcc/gcc-3.4.4.inc b/meta/packages/gcc/gcc-3.4.4.inc index 704d9bc..5700a7c 100644 --- a/meta/packages/gcc/gcc-3.4.4.inc +++ b/meta/packages/gcc/gcc-3.4.4.inc @@ -17,6 +17,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://always-fixincperm.patch;patch=1 \ file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \ file://zecke-xgcc-cpp.patch;patch=1 \ + file://gcc-libgcc2-inhibit-libc.patch;patch=1 \ file://gcc4-mtune-compat.patch;patch=1" SRC_URI += "file://gcc34-configure.in.patch;patch=1" diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch new file mode 100644 index 0000000..f3f7048 --- /dev/null +++ b/meta/packages/gcc/gcc-3.4.4/gcc-libgcc2-inhibit-libc.patch @@ -0,0 +1,21 @@ +--- + gcc/config/i386/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +Index: gcc-3.4.4/gcc/config/i386/linux.h +=================================================================== +--- gcc-3.4.4.orig/gcc/config/i386/linux.h 2008-07-17 23:40:00.000000000 -0700 ++++ gcc-3.4.4/gcc/config/i386/linux.h 2008-07-17 23:40:41.000000000 -0700 +@@ -218,6 +218,7 @@ Boston, MA 02111-1307, USA. */ + /* Do code reading to identify a signal frame, and set the frame + state data appropriately. See unwind-dw2.c for the structs. */ + ++#ifndef inhibit_libc + #ifdef IN_LIBGCC2 + /* There's no sys/ucontext.h for some (all?) libc1, so no + signal-turned-exceptions for them. There's also no configure-run for +@@ -282,3 +283,4 @@ Boston, MA 02111-1307, USA. */ + } while (0) + #endif /* not USE_GNULIBC_1 */ + #endif /* IN_LIBGCC2 */ ++#endif diff --git a/meta/packages/gcc/gcc-configure-cross.inc b/meta/packages/gcc/gcc-configure-cross.inc index c05cf3d..da66e8e 100644 --- a/meta/packages/gcc/gcc-configure-cross.inc +++ b/meta/packages/gcc/gcc-configure-cross.inc @@ -7,10 +7,6 @@ EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} --with-sysroot=${STAGING_DIR_TARGET} \ --with-build-sysroot=${STAGING_DIR_TARGET}" -do_configure_prepend () { - rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a -} - do_compile_prepend () { export CC="${BUILD_CC}" export AR_FOR_TARGET="${TARGET_SYS}-ar" diff --git a/meta/packages/gcc/gcc-cross-initial.inc b/meta/packages/gcc/gcc-cross-initial.inc index e067526..15e5fa6 100644 --- a/meta/packages/gcc/gcc-cross-initial.inc +++ b/meta/packages/gcc/gcc-cross-initial.inc @@ -1,6 +1,4 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils" -# @todo Please add comment on why this is (still?) needed? -DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel', 'powerpc']]}" PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" PACKAGES = "" @@ -8,6 +6,7 @@ PACKAGES = "" # sysroot is needed in case we use libc-initial EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ --with-newlib \ + --without-headers \ --disable-shared \ --disable-threads \ --disable-multilib \ @@ -19,11 +18,6 @@ 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 () { - mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV} - ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a -} - do_install () { : } diff --git a/meta/packages/gcc/gcc-cross-intermediate.inc b/meta/packages/gcc/gcc-cross-intermediate.inc new file mode 100644 index 0000000..4fa1288 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate.inc @@ -0,0 +1,21 @@ +DEPENDS = "virtual/${TARGET_PREFIX}binutils" +DEPENDS += "virtual/${TARGET_PREFIX}libc-initial" +PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate" +PACKAGES = "" + +# This is intended to be a -very- basic config +# sysroot is needed in case we use libc-initial +EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \ + --enable-shared \ + --disable-multilib \ + --disable-threads \ + --enable-languages=c \ + --enable-target-optspace \ + --program-prefix=${TARGET_PREFIX} \ + --with-sysroot=${STAGING_DIR_TARGET} \ + --with-build-sysroot=${STAGING_DIR_TARGET} \ + ${@get_gcc_fpu_setting(bb, d)}" + +do_install () { + : +} diff --git a/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb new file mode 100644 index 0000000..eb59de9 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_3.4.4.bb @@ -0,0 +1,2 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb new file mode 100644 index 0000000..3e103aa --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.1.2.bb @@ -0,0 +1,5 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +EXTRA_OECONF += "--disable-libmudflap \ + --disable-libssp" diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb new file mode 100644 index 0000000..7acca81 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.2.3.bb @@ -0,0 +1,5 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +EXTRA_OECONF += "--disable-libmudflap --disable-libgomp \ + --disable-libssp" diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb new file mode 100644 index 0000000..b0932f5 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_4.3.1.bb @@ -0,0 +1,14 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +DEPENDS += "gmp-native mpfr-native" + +EXTRA_OECONF += " --disable-libmudflap \ + --disable-libgomp \ + --disable-libssp" + +# Hack till we fix *libc properly +do_stage_append() { + ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ +} + diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb new file mode 100644 index 0000000..6e9c252 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2005q3.bb @@ -0,0 +1,2 @@ +require gcc-cross_csl-arm-2005q3.bb +require gcc-cross-intermediate.inc diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb new file mode 100644 index 0000000..2d4b55f --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2006q1.bb @@ -0,0 +1,7 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +S = "${WORKDIR}/gcc-2006q1" + +EXTRA_OECONF += "--disable-libmudflap \ + --disable-libssp" diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb new file mode 100644 index 0000000..114d983 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2007q3.bb @@ -0,0 +1,12 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +S = "${WORKDIR}/gcc-4.2" + +EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap " + +# Hack till we fix *libc properly +do_stage_append() { + ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ +} + diff --git a/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb new file mode 100644 index 0000000..114d983 --- /dev/null +++ b/meta/packages/gcc/gcc-cross-intermediate_csl-arm-2008q1.bb @@ -0,0 +1,12 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +S = "${WORKDIR}/gcc-4.2" + +EXTRA_OECONF += "--disable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap " + +# Hack till we fix *libc properly +do_stage_append() { + ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/ +} + diff --git a/meta/packages/gcc/gcc-cross_3.4.4.bb b/meta/packages/gcc/gcc-cross_3.4.4.bb index c9b5cc9..c7a4cfe 100644 --- a/meta/packages/gcc/gcc-cross_3.4.4.bb +++ b/meta/packages/gcc/gcc-cross_3.4.4.bb @@ -1,4 +1,4 @@ -PR = "r9" +PR = "r10" require gcc-${PV}.inc require gcc-cross.inc diff --git a/meta/packages/gcc/gcc-cross_4.1.2.bb b/meta/packages/gcc/gcc-cross_4.1.2.bb index 43f2173..c9e3279 100644 --- a/meta/packages/gcc/gcc-cross_4.1.2.bb +++ b/meta/packages/gcc/gcc-cross_4.1.2.bb @@ -1,4 +1,4 @@ -PR = "r16" +PR = "r17" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/meta/packages/gcc/gcc-cross_4.2.3.bb b/meta/packages/gcc/gcc-cross_4.2.3.bb index 11e0459..72f7283 100644 --- a/meta/packages/gcc/gcc-cross_4.2.3.bb +++ b/meta/packages/gcc/gcc-cross_4.2.3.bb @@ -1,4 +1,4 @@ -PR = "r6" +PR = "r7" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/meta/packages/gcc/gcc-cross_4.3.1.bb b/meta/packages/gcc/gcc-cross_4.3.1.bb index 9821d3c..11e0459 100644 --- a/meta/packages/gcc/gcc-cross_4.3.1.bb +++ b/meta/packages/gcc/gcc-cross_4.3.1.bb @@ -1,4 +1,4 @@ -PR = "r5" +PR = "r6" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch b/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch new file mode 100644 index 0000000..6979229 --- /dev/null +++ b/meta/packages/glibc/files/glibc-2.6.1-use-short-for-fnstsw.patch @@ -0,0 +1,30 @@ +Source: http://sourceware.org/ml/libc-alpha/2008-01/msg00017.html + +I am checking this x86 assembler patch: + +http://sourceware.org/ml/binutils/2008-01/msg00148.html + +to check operand size. fnstsw stores 16bit into %ax. The upper +16bit of %eax is unchanged. The new assembler will disallow +"fnstsw %eax". Here is a patch for glibc. + + +H.J. + +--- + sysdeps/i386/fpu/ftestexcept.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c +=================================================================== +--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:00:45.000000000 -0700 ++++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-07-19 11:01:25.000000000 -0700 +@@ -26,7 +26,7 @@ + int + fetestexcept (int excepts) + { +- int temp; ++ short temp; + int xtemp = 0; + + /* Get current exceptions. */ diff --git a/meta/packages/glibc/glibc-initial.inc b/meta/packages/glibc/glibc-initial.inc index 0e5db2e..143a662 100644 --- a/meta/packages/glibc/glibc-initial.inc +++ b/meta/packages/glibc/glibc-initial.inc @@ -1,5 +1,5 @@ SECTION = "libs" -DEPENDS = "linux-libc-headers" +DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" @@ -9,7 +9,8 @@ PACKAGES_DYNAMIC = "" do_configure () { sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure chmod +x ${S}/configure - CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ + find ${S} -name "configure" | xargs touch + ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \ --without-cvs --disable-sanity-checks \ --with-headers=${STAGING_DIR_TARGET}${layout_includedir} \ --enable-hacker-mode @@ -30,8 +31,11 @@ do_compile () { } do_stage () { - oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} includedir='${layout_includedir}' prefix='${layout_prefix}' install-headers + oe_runmake cross-compiling=yes install_root=${STAGING_DIR_HOST} \ + includedir='${layout_includedir}' prefix='${layout_prefix}' \ + install-bootstrap-headers=yes install-headers + oe_runmake csu/subdir_lib # Two headers -- stubs.h and features.h -- aren't installed by install-headers, # so do them by hand. We can tolerate an empty stubs.h for the moment. # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html @@ -42,6 +46,10 @@ do_stage () { if [ -e ${B}/bits/stdio_lim.h ]; then cp ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/ fi + mkdir -p ${STAGING_DIR_TARGET}${layout_libdir} + install -m 644 csu/crt[1in].o ${STAGING_DIR_TARGET}${layout_libdir} + ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ + -o ${STAGING_DIR_TARGET}${layout_libdir}/libc.so } do_install () { diff --git a/meta/packages/glibc/glibc-intermediate.inc b/meta/packages/glibc/glibc-intermediate.inc deleted file mode 100644 index c226d86..0000000 --- a/meta/packages/glibc/glibc-intermediate.inc +++ /dev/null @@ -1,12 +0,0 @@ -SECTION = "libs" -PACKAGES = "" -PACKAGES_DYNAMIC = "" -PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc" -DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers" - -do_install () { - : -} - -GLIBC_ADDONS = "nptl,ports" -GLIBC_EXTRA_OECONF = "" diff --git a/meta/packages/glibc/glibc-intermediate_2.4.bb b/meta/packages/glibc/glibc-intermediate_2.4.bb deleted file mode 100644 index f29ffb3..0000000 --- a/meta/packages/glibc/glibc-intermediate_2.4.bb +++ /dev/null @@ -1,5 +0,0 @@ -require glibc_${PV}.bb -require glibc-intermediate.inc - -DEFAULT_PREFERENCE = "-1" - diff --git a/meta/packages/glibc/glibc-intermediate_2.5.bb b/meta/packages/glibc/glibc-intermediate_2.5.bb deleted file mode 100644 index 661a69a..0000000 --- a/meta/packages/glibc/glibc-intermediate_2.5.bb +++ /dev/null @@ -1,7 +0,0 @@ -require glibc_${PV}.bb -require glibc-intermediate.inc - -# gcc uses -Werror which break on a "you have no thumb interwork" _warning_ -do_configure_prepend() { - sed -i s:-Werror:: ${S}/configure -} diff --git a/meta/packages/glibc/glibc-intermediate_2.6.1.bb b/meta/packages/glibc/glibc-intermediate_2.6.1.bb deleted file mode 100644 index 05d6250..0000000 --- a/meta/packages/glibc/glibc-intermediate_2.6.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -require glibc_${PV}.bb -require glibc-intermediate.inc - -# gcc uses -Werror which break on a "you have no thumb interwork" _warning_ -do_configure_prepend() { - sed -i s:-Werror:: ${S}/configure -} - diff --git a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb b/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb deleted file mode 100644 index 5d161b1..0000000 --- a/meta/packages/glibc/glibc-intermediate_csl-2005q3-2.bb +++ /dev/null @@ -1,8 +0,0 @@ -require glibc_${PV}.bb -require glibc-intermediate.inc - -DEFAULT_PREFERENCE = "-1" - -GLIBC_ADDONS = "nptl,libidn" - - diff --git a/meta/packages/glibc/glibc-stage.inc b/meta/packages/glibc/glibc-stage.inc index a86cf78..2b7b303 100644 --- a/meta/packages/glibc/glibc-stage.inc +++ b/meta/packages/glibc/glibc-stage.inc @@ -3,7 +3,7 @@ do_stage() { oe_runmake 'install_root=${STAGING_DIR_HOST}' \ 'includedir=${layout_includedir}' 'libdir=${layout_libdir}' 'slibdir=${layout_base_libdir}' \ '${STAGING_DIR_HOST}${layout_base_libdir}/libc.so.6' \ - install-headers install-lib + install install -d ${STAGING_INCDIR}/gnu \ ${STAGING_INCDIR}/bits \ @@ -15,9 +15,4 @@ do_stage() { h=`echo $r|sed -e's,\.x$,.h,'` install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/ done - for i in libc.a libc_pic.a libc_nonshared.a; do - install -m 0644 ${B}/$i ${STAGING_DIR_HOST}/${layout_base_libdir}/ || die "failed to install $i" - done - echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libpthread.so - echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_DIR_HOST}/${layout_base_libdir}/libc.so } diff --git a/meta/packages/glibc/glibc.inc b/meta/packages/glibc/glibc.inc index 81df03c..18edf89 100644 --- a/meta/packages/glibc/glibc.inc +++ b/meta/packages/glibc/glibc.inc @@ -4,11 +4,12 @@ SECTION = "libs" PRIORITY = "required" LICENSE = "LGPL" # nptl needs unwind support in gcc, which can't be built without glibc. -DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers" +DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers" RDEPENDS_${PN}-dev = "linux-libc-headers-dev" #this leads to circular deps, so lets not add it yet #RDEPENDS_ldd += " bash" -PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" +#RDEPENDS += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" +PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" PROVIDES += "virtual/libintl virtual/libiconv" inherit autotools diff --git a/meta/packages/glibc/glibc_2.5.bb b/meta/packages/glibc/glibc_2.5.bb index 8a46d2f..0cab17f 100644 --- a/meta/packages/glibc/glibc_2.5.bb +++ b/meta/packages/glibc/glibc_2.5.bb @@ -48,6 +48,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \ # file://fixup-aeabi-syscalls.patch;patch=1 \ file://zecke-sane-readelf.patch;patch=1 \ file://eabi_kernel_version_hack.patch;patch=1 \ + file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \ file://generic-bits_select.h \ file://generic-bits_types.h \ file://generic-bits_typesizes.h \ diff --git a/meta/packages/glibc/glibc_2.6.1.bb b/meta/packages/glibc/glibc_2.6.1.bb index 2e509e9..9e1c4b7 100644 --- a/meta/packages/glibc/glibc_2.6.1.bb +++ b/meta/packages/glibc/glibc_2.6.1.bb @@ -56,6 +56,7 @@ SRC_URI = "\ file://etc/ld.so.conf \ file://generate-supported.mk \ file://glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch;patch=1 \ + file://glibc-2.6.1-use-short-for-fnstsw.patch;patch=1 \ file://glibc-include-fixed.patch;patch=1;pnum=0 \ " |