Re: Unable to get serial console login prompt - PowerPC 440 Virtex 5 processor
Elvis Dowson
Hi Khem,
On Aug 14, 2012, at 12:26 PM, Elvis Dowson wrote:
I did a comparision betwen the poky/meta and the eldk/meta directories for the denzil branch. The ELDK one is roughly behind by around 2 updates to the denzil branch, I think. One thing that I found, was the the ELDK install the no-float libraries for soft-floating point on the target, whereas the current poky/denzil branch does not: diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb index 9a8b20d..f75ca34 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb @@ -16,8 +16,10 @@ PACKAGES = "\ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" Could this be the reason? Apart from the one above, here are all the other differences under recipes-core. Do let me know if any of them stand-out: diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc index 3c371a7..0db221f 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc-package.inc +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc-package.inc @@ -20,12 +20,11 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-mtrace ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils eglibc-extra-nss${PKGSUFFIX} eglibc-thread-db${PKGSUFFIX} ${PN}-pic ${PN}-dev ${PN}-staticdev ${PN}-doc libcidn${PKGSUFFIX} libmemusage${PKGSUFFIX} libsegfault${PKGSUFFIX} ${PN}-pcprofile libsotruss${PKGSUFFIX}" # The ld.so in this eglibc supports the GNU_HASH RPROVIDES_${PN} = "glibc${PKGSUFFIX} rtld(GNU_HASH)" RPROVIDES_${PN}-utils = "glibc${PKGSUFFIX}-utils" -RPROVIDES_${PN}-mtrace = "glibc${PKGSUFFIX}-mtrace libc-mtrace" RPROVIDES_${PN}-pic = "glibc${PKGSUFFIX}-pic" RPROVIDES_${PN}-dev = "glibc${PKGSUFFIX}-dev" RPROVIDES_${PN}-staticdev = "glibc${PKGSUFFIX}-staticdev" @@ -49,13 +48,11 @@ FILES_${PN}-dev_append += "${bindir}/rpcgen ${libdir}/*_nonshared.a \ ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" FILES_${PN}-staticdev_append += "${libdir}/*.a ${base_libdir}/*.a" FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" -FILES_${PN}-mtrace = "${bindir}/mtrace" FILES_${PN}-utils = "${bindir}/* ${sbindir}/*" FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug" FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv" RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault" RDEPENDS_${PN}-utils += "bash" -RDEPENDS_${PN}-mtrace += "perl" FILES_${PN}-pcprofile = "${base_libdir}/libpcprofile.so" FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db.so.* ${base_libdir}/libthread_db-*.so" RPROVIDES_${PN}-dev += "libc-dev" @@ -71,8 +68,6 @@ SUMMARY_ldd = "print shared library dependencies" DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line." SUMMARY_${PN}-utils = "Miscellaneous utilities provided by eglibc" DESCRIPTION_${PN}-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..." -SUMMARY_${PN}-mtrace = "mtrace utility provided by eglibc" -DESCRIPTION_${PN}-mtrace = "mtrace utility provided by eglibc" DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through PLTs" inherit libc-common multilib_header diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc index 51061bc..8e3fe50 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc.inc +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc.inc @@ -32,8 +32,6 @@ require eglibc-options.inc LEAD_SONAME = "libc.so" -CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ - ac_cv_path_BASH_SHELL=${base_bindir}/bash" GLIBC_EXTRA_OECONF ?= "" GLIBC_EXTRA_OECONF_virtclass-nativesdk = "" INHIBIT_DEFAULT_DEPS = "1" diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb index 690f99d..d8a41dc 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.13.bb @@ -3,7 +3,7 @@ require eglibc.inc SRCREV = "15508" DEPENDS += "gperf-native" -PR = "r28" +PR = "r26" PR_append = "+svnr${SRCPV}" EGLIBC_BRANCH="eglibc-2_13" diff --git a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb index f5219d1..713efc3 100644 --- a/tool/yocto/poky/meta/recipes-core/eglibc/eglibc_2.15.bb +++ b/tool/eldk/meta/recipes-core/eglibc/eglibc_2.15.bb @@ -3,7 +3,7 @@ require eglibc.inc SRCREV = "17386" DEPENDS += "gperf-native" -PR = "r7" +PR = "r6" PR_append = "+svnr${SRCPV}" EGLIBC_BRANCH="eglibc-2_15" diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh index 01ff829..90978dd 100644 --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/files/init-install.sh +++ b/tool/eldk/meta/recipes-core/initrdscripts/files/init-install.sh @@ -16,7 +16,7 @@ swap_ratio=5 found="no" echo "Searching for a hard drive..." -for device in 'hda' 'hdb' 'sda' 'sdb' 'mmcblk0' 'mmcblk1' +for device in 'hda' 'hdb' 'sda' 'sdb' do if [ -e /sys/block/${device}/removable ]; then if [ "$(cat /sys/block/${device}/removable)" = "0" ]; then @@ -62,7 +62,13 @@ rm -f /etc/udev/scripts/mount* # # Unmount anything the automounter had mounted # -umount /dev/${device}* 2> /dev/null || /bin/true +umount /dev/${device} 2> /dev/null || /bin/true +umount /dev/${device}1 2> /dev/null || /bin/true +umount /dev/${device}2 2> /dev/null || /bin/true +umount /dev/${device}3 2> /dev/null || /bin/true +umount /dev/${device}4 2> /dev/null || /bin/true +umount /dev/${device}5 2> /dev/null || /bin/true +umount /dev/${device}6 2> /dev/null || /bin/true if [ ! -b /dev/sda ] ; then mknod /dev/sda b 8 0 @@ -88,23 +94,14 @@ rootfs_start=$((boot_size + 1)) rootfs_end=$((rootfs_start+rootfs_size)) swap_start=$((rootfs_end+1)) -# MMC devices are special in a couple of ways -# 1) they use a partition prefix character 'p' -# 2) they are detected asynchronously (need rootwait) -rootwait="" -part_prefix="" -if [ ! "${device#mmcblk}" = "${device}" ]; then - part_prefix="p" - rootwait="rootwait" -fi -bootfs=/dev/${device}${part_prefix}1 -rootfs=/dev/${device}${part_prefix}2 -swap=/dev/${device}${part_prefix}3 +bootfs=/dev/${device}1 +rootfs=/dev/${device}2 +swap=/dev/${device}3 echo "*****************" -echo "Boot partition size: $boot_size MB ($bootfs)" -echo "Rootfs partition size: $rootfs_size MB ($rootfs)" -echo "Swap partition size: $swap_size MB ($swap)" +echo "Boot partition size: $boot_size MB (/dev/${device}1)" +echo "Rootfs partition size: $rootfs_size MB (/dev/${device}2)" +echo "Swap partition size: $swap_size MB (/dev/${device}3)" echo "*****************" echo "Deleting partition table on /dev/${device} ..." dd if=/dev/zero of=/dev/${device} bs=512 count=2 @@ -112,24 +109,24 @@ dd if=/dev/zero of=/dev/${device} bs=512 count=2 echo "Creating new partition table on /dev/${device} ..." parted /dev/${device} mklabel msdos -echo "Creating boot partition on $bootfs" +echo "Creating boot partition on /dev/${device}1" parted /dev/${device} mkpart primary 1 $boot_size -echo "Creating rootfs partition on $rootfs" +echo "Creating rootfs partition on /dev/${device}2" parted /dev/${device} mkpart primary $rootfs_start $rootfs_end -echo "Creating swap partition on $swap" +echo "Creating swap partition on /dev/${device}3" parted /dev/${device} mkpart primary $swap_start $disk_size parted /dev/${device} print -echo "Formatting $bootfs to ext2..." +echo "Formatting /dev/${device}1 to ext2..." mkfs.ext3 $bootfs -echo "Formatting $rootfs to ext3..." +echo "Formatting /dev/${device}2 to ext3..." mkfs.ext3 $rootfs -echo "Formatting swap partition...($swap)" +echo "Formatting swap partition...(/dev/${device}3)" mkswap $swap mkdir /ssd @@ -153,7 +150,7 @@ fi if [ -f /ssd/etc/grub.d/40_custom ] ; then echo "Preparing custom grub2 menu..." - sed -i "s@__ROOTFS__@$rootfs $rootwait@g" /ssd/etc/grub.d/40_custom + sed -i "s@__ROOTFS__@$rootfs@g" /ssd/etc/grub.d/40_custom sed -i "s/__VIDEO_MODE__/$3/g" /ssd/etc/grub.d/40_custom sed -i "s/__VGA_MODE__/$4/g" /ssd/etc/grub.d/40_custom mount $bootfs /bootmnt diff --git a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb index ac73ef8..793a4b7 100644 --- a/tool/yocto/poky/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb +++ b/tool/eldk/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb @@ -3,7 +3,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" SRC_URI = "file://init-install.sh" -PR = "r7" +PR = "r6" RDEPENDS_${PN} = "grub parted e2fsprogs-mke2fs" diff --git a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc index b031119..ae99e2c 100644 --- a/tool/yocto/poky/meta/recipes-core/ncurses/ncurses.inc +++ b/tool/eldk/meta/recipes-core/ncurses/ncurses.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://ncurses/base/version.c;beginline=1;endline=27;md5=cbc SECTION = "libs" DEPENDS = "ncurses-native" DEPENDS_virtclass-native = "" -INC_PR = "r9" +INC_PR = "r8" inherit autotools binconfig multilib_header @@ -107,15 +107,10 @@ do_test() { diff curses-narrowc.h curses-widec.h } -# Split original _install_opts to two parts. -# One is the options to install contents, the other is the parameters \ -# when running command "make install" _install_opts = "\ - install.libs install.includes install.man \ -" -_install_cfgs = "\ DESTDIR='${D}' \ PKG_CONFIG_LIBDIR='${libdir}/pkgconfig' \ + install.libs install.includes install.man \ " python do_install () { @@ -127,19 +122,11 @@ shell_do_install() { # Order of installation is important; widec installs a 'curses.h' # header with more definitions and must be installed last hence. # Compatibility of these headers will be checked in 'do_test()'. - oe_runmake -C narrowc ${_install_cfgs} ${_install_opts} \ - install.progs - - # The install.data should run after install.libs, otherwise - # there would be a race issue in a very critical conditon, since - # tic will be run by install.data, and tic needs libtinfo.so - # which would be regenerated by install.libs. - oe_runmake -C narrowc ${_install_cfgs} \ - install.data - + oe_runmake -C narrowc ${_install_opts} \ + install.data install.progs ! ${ENABLE_WIDEC} || \ - oe_runmake -C widec ${_install_cfgs} ${_install_opts} + oe_runmake -C widec ${_install_opts} cd narrowc diff --git a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb index 1dddbb8..3c92f3f 100644 --- a/tool/yocto/poky/meta/recipes-core/tasks/task-core-tools-debug.bb +++ b/tool/eldk/meta/recipes-core/tasks/task-core-tools-debug.bb @@ -17,14 +17,10 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" ALLOW_EMPTY = "1" -MTRACE = "" -MTRACE_libc-glibc = "libc-mtrace" - RDEPENDS_${PN} = "\ gdb \ gdbserver \ tcf-agent \ rsync \ strace \ - ${MTRACE} \ " diff --git a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc index 55ab0c9..893d8fd 100644 --- a/tool/yocto/poky/meta/recipes-core/uclibc/uclibc.inc +++ b/tool/eldk/meta/recipes-core/uclibc/uclibc.inc @@ -13,7 +13,7 @@ SECTION = "libs" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ -INC_PR = "r7" +INC_PR = "r6" require uclibc-config.inc STAGINGCC = "gcc-cross-intermediate" @@ -48,9 +48,9 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev" INHIBIT_DEFAULT_DEPS = "1" -# Ensure the uclibc-dev package is processed before uclibc-staticdev to allow -# *_nonshared.a libraries to be packaged in the uclibc-dev package. -PACKAGES = "${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN} ${PN}-doc ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" +PACKAGES =+ "ldd uclibc-utils-dbg uclibc-utils uclibc-gconv uclibc-thread-db uclibc-argp uclibc-backtrace" +PACKAGES =+ "uclibc-libcrypt uclibc-libintl uclibc-libnsl uclibc-libresolv uclibc-libm" +PACKAGES =+ "uclibc-libdl uclibc-libutil uclibc-libpthread uclibc-librt" FILES_uclibc-libcrypt = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so" FILES_uclibc-libintl = "${base_libdir}/libintl*.so.* ${base_libdir}/libintl-*.so" @@ -88,8 +88,7 @@ RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" # uclibc does not really have libsegfault but then using the one from glibc is also not # going to work. So we pretend that we have it to make bitbake not pull other recipes # to satisfy this dependency for the images/tasks - -RPROVIDES_uclibc += "libsegfault rtld(GNU_HASH)" +RPROVIDES_uclibc += "libsegfault" SRC_URI = "\ diff --git a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc index 552b808..e343242 100644 --- a/tool/yocto/poky/meta/recipes-devtools/binutils/binutils.inc +++ b/tool/eldk/meta/recipes-devtools/binutils/binutils.inc @@ -32,7 +32,6 @@ FILES_${PN}-symlinks = " \ ${bindir}/addr2line \ ${bindir}/as \ ${bindir}/c++filt \ - ${bindir}/embedspu \ ${bindir}/gprof \ ${bindir}/ld \ ${bindir}/ld.bfd \ diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch b/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch deleted file mode 100644 index a5d6b61..0000000 --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg/dpkg-deb-avoid-fflush.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 78eaf928d30d0b16e05d8d63c55a3632a135ed9a Mon Sep 17 00:00:00 2001 -From: Guillem Jover <guillem@...> -Date: Thu, 4 Nov 2010 00:51:13 +0100 -Subject: [PATCH] dpkg-deb: Use fd instead of stream based buffered I/O - -Behaviour of fflush() on input streams is undefined per POSIX, avoid -mixing stream and file descriptor based I/O, and only use the latter -instead. - -Upstream-Status: Backport of revision 2d420ee1d05033d237462a0075facfe406b08043 (in 1.16.x) - ---- - dpkg-deb/extract.c | 83 ++++++++++++++++++++++++++++++++++++++------------- - 1 files changed, 62 insertions(+), 21 deletions(-) - -diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c -index 22aea98..0f5ac88 100644 ---- a/dpkg-deb/extract.c -+++ b/dpkg-deb/extract.c -@@ -31,6 +31,7 @@ - #include <ctype.h> - #include <string.h> - #include <dirent.h> -+#include <fcntl.h> - #include <unistd.h> - #include <ar.h> - #include <stdbool.h> -@@ -61,13 +62,41 @@ static void movecontrolfiles(const char *thing) { - } - - static void DPKG_ATTR_NORET --readfail(FILE *a, const char *filename, const char *what) -+read_fail(int rc, const char *filename, const char *what) - { -- if (ferror(a)) { -- ohshite(_("error reading %s from file %.255s"), what, filename); -- } else { -+ if (rc == 0) - ohshit(_("unexpected end of file in %s in %.255s"),what,filename); -+ else -+ ohshite(_("error reading %s from file %.255s"), what, filename); -+} -+ -+static ssize_t -+read_line(int fd, char *buf, size_t min_size, size_t max_size) -+{ -+ ssize_t line_size = 0; -+ size_t n = min_size; -+ -+ while (line_size < (ssize_t)max_size) { -+ ssize_t r; -+ char *nl; -+ -+ r = read(fd, buf + line_size, n); -+ if (r <= 0) -+ return r; -+ -+ nl = strchr(buf + line_size, '\n'); -+ line_size += r; -+ -+ if (nl != NULL) { -+ nl[1] = '\0'; -+ return line_size; -+ } -+ -+ n = 1; - } -+ -+ buf[line_size] = '\0'; -+ return line_size; - } - - static size_t -@@ -115,19 +144,26 @@ void extracthalf(const char *debar, const char *directory, - char versionbuf[40]; - float versionnum; - size_t ctrllennum, memberlen= 0; -+ ssize_t r; - int dummy; - pid_t c1=0,c2,c3; - int p1[2], p2[2]; -- FILE *ar; -+ int arfd; - struct stat stab; - char nlc; - int adminmember; - bool oldformat, header_done; - struct compressor *decompressor = &compressor_gzip; - -- ar= fopen(debar,"r"); if (!ar) ohshite(_("failed to read archive `%.255s'"),debar); -- if (fstat(fileno(ar),&stab)) ohshite(_("failed to fstat archive")); -- if (!fgets(versionbuf,sizeof(versionbuf),ar)) readfail(ar,debar,_("version number")); -+ arfd = open(debar, O_RDONLY); -+ if (arfd < 0) -+ ohshite(_("failed to read archive `%.255s'"), debar); -+ if (fstat(arfd, &stab)) -+ ohshite(_("failed to fstat archive")); -+ -+ r = read_line(arfd, versionbuf, strlen(DPKG_AR_MAGIC), sizeof(versionbuf)); -+ if (r < 0) -+ read_fail(r, debar, _("archive magic version number")); - - if (!strcmp(versionbuf, DPKG_AR_MAGIC)) { - oldformat = false; -@@ -137,8 +173,9 @@ void extracthalf(const char *debar, const char *directory, - for (;;) { - struct ar_hdr arh; - -- if (fread(&arh,1,sizeof(arh),ar) != sizeof(arh)) -- readfail(ar,debar,_("between members")); -+ r = read(arfd, &arh, sizeof(arh)); -+ if (r != sizeof(arh)) -+ read_fail(r, debar, _("archive member header")); - - dpkg_ar_normalize_name(&arh); - -@@ -153,8 +190,9 @@ void extracthalf(const char *debar, const char *directory, - ohshit(_("file `%.250s' is not a debian binary archive (try dpkg-split?)"),debar); - infobuf= m_malloc(memberlen+1); -- if (fread(infobuf,1, memberlen + (memberlen&1), ar) != memberlen + (memberlen&1)) -- readfail(ar,debar,_("header info member")); -+ r = read(arfd, infobuf, memberlen + (memberlen & 1)); -+ if ((size_t)r != (memberlen + (memberlen & 1))) -+ read_fail(r, debar, _("archive information header member")); - infobuf[memberlen] = '\0'; - cur= strchr(infobuf,'\n'); - if (!cur) ohshit(_("archive has no newlines in header")); -@@ -174,7 +212,8 @@ void extracthalf(const char *debar, const char *directory, - /* Members with `_' are noncritical, and if we don't understand them - * we skip them. - */ -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); -+ fd_null_copy(arfd, memberlen + (memberlen & 1), -+ _("skipped archive member data from %s"), debar); - } else { - adminmember = 1; -@@ -198,7 +237,8 @@ void extracthalf(const char *debar, const char *directory, - ctrllennum= memberlen; - } - if (!adminmember != !admininfo) { -- stream_null_copy(ar, memberlen + (memberlen&1),_("skipped member data from %s"), debar); -+ fd_null_copy(arfd, memberlen + (memberlen & 1), -+ _("skipped archive member data from %s"), debar); - } else { - break; /* Yes ! - found it. */ - } -@@ -221,8 +261,10 @@ void extracthalf(const char *debar, const char *directory, - l = strlen(versionbuf); - if (l && versionbuf[l - 1] == '\n') - versionbuf[l - 1] = '\0'; -- if (!fgets(ctrllenbuf,sizeof(ctrllenbuf),ar)) -- readfail(ar, debar, _("control information length")); -+ -+ r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf)); -+ if (r < 0) -+ read_fail(r, debar, _("archive control member size")); - if (sscanf(ctrllenbuf,"%zi%c%d",&ctrllennum,&nlc,&dummy) !=2 || nlc != '\n') - ohshit(_("archive has malformatted control length `%s'"), ctrllenbuf); - -@@ -230,7 +272,8 @@ void extracthalf(const char *debar, const char *directory, - memberlen = ctrllennum; - } else { - memberlen = stab.st_size - ctrllennum - strlen(ctrllenbuf) - l; -- stream_null_copy(ar, ctrllennum, _("skipped control area from %s"), debar); -+ fd_null_copy(arfd, ctrllennum, -+ _("skipped archive control member data from %s"), debar); - } - - if (admininfo >= 2) { -@@ -252,13 +295,11 @@ void extracthalf(const char *debar, const char *directory, - - } - -- safe_fflush(ar); -- - m_pipe(p1); - c1 = subproc_fork(); - if (!c1) { - close(p1[0]); -- stream_fd_copy(ar, p1[1], memberlen, _("failed to write to pipe in copy")); -+ fd_fd_copy(arfd, p1[1], memberlen, _("failed to write to pipe in copy")); - if (close(p1[1])) - ohshite(_("failed to close pipe in copy")); - exit(0); -@@ -275,7 +316,7 @@ void extracthalf(const char *debar, const char *directory, - decompress_filter(decompressor, 0, 1, _("data")); - } - close(p1[0]); -- fclose(ar); -+ close(arfd); - if (taroption) close(p2[1]); - - if (taroption && directory) { --- -1.7.7.6 - diff --git a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb index 1e7ef25..f1030fa 100644 --- a/tool/yocto/poky/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb +++ b/tool/eldk/meta/recipes-devtools/dpkg/dpkg_1.15.8.7.bb @@ -5,11 +5,10 @@ SRC_URI += "file://noman.patch \ SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc" SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5" -PR = "${INC_PR}.4" +PR = "${INC_PR}.3" diff --git a/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch new file mode 100644 index 0000000..4786f95 --- /dev/null +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6/t-mips.patch @@ -0,0 +1,10 @@ +--- gcc-4_6-branch/gcc/config/mips/t-mips.orig 2011-09-03 05:58:07.000000000 +0300 ++++ gcc-4_6-branch/gcc/config/mips/t-mips 2011-10-18 19:14:39.000000000 +0300 +@@ -39,3 +39,7 @@ + cat $(srcdir)/config/fp-bit.c >> fp-bit.c + + LIB2_SIDITI_CONV_FUNCS=yes ++ ++MULTILIB_OPTIONS = msoft-float ++MULTILIB_DIRNAMES = nof ++MULTILIB_MATCHES = diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc index 020e21b..9fd152a 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-4.6.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-4.6.inc @@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch " diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc index 9542dc9..da60089 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -25,7 +25,8 @@ EXTRA_OECONF_PATHS ?= "" EXTRA_OECONF_INITIAL ?= "" EXTRA_OECONF_INTERMEDIATE ?= "" -GCCMULTILIB = "--disable-multilib" +MULTILIB_ARCH_LIST = "mips" +GCCMULTILIB = '${@base_contains("MULTILIB_ARCH_LIST", "${TARGET_ARCH}", "--enable-multilib", "--disable-multilib",d)}' EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \ --with-gnu-ld \ diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc index a499c88..3076670 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/gcc-package-target.inc +++ b/tool/eldk/meta/recipes-devtools/gcc/gcc-package-target.inc @@ -1,5 +1,5 @@ PACKAGES = "\ - ${PN} ${PN}-plugins ${PN}-symlinks \ + ${PN} ${PN}-symlinks \ g++ g++-symlinks \ cpp cpp-symlinks \ g77 g77-symlinks \ @@ -40,11 +40,6 @@ FILES_${PN}-symlinks = "\ ${bindir}/gccbug \ " -FILES_${PN}-plugins = "\ - ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin \ -" -ALLOW_EMPTY_${PN}-plugins = "1" - FILES_g77 = "\ ${bindir}/${TARGET_PREFIX}g77 \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \ @@ -93,7 +88,6 @@ do_install () { rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools rm -rf ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la - rmdir ${D}${includedir} # Hack around specs file assumptions test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs diff --git a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb index 9a8b20d..f75ca34 100644 --- a/tool/yocto/poky/meta/recipes-devtools/gcc/libgcc_4.6.bb +++ b/tool/eldk/meta/recipes-devtools/gcc/libgcc_4.6.bb @@ -16,8 +16,10 @@ PACKAGES = "\ FILES_${PN} = "${base_libdir}/libgcc*.so.*" FILES_${PN}-dev = " \ ${base_libdir}/libgcc*.so \ - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/nof/libgcc*" FILES_libgcov${PKGSUFFIX}-dev = " \ ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a" Best regards, Elvis Dowson
|
|