diff options
12 files changed, 170 insertions, 94 deletions
@@ -4,18 +4,17 @@ Toolchain: uClibc 0.9.30.3 / 0.9.31, older 0.9.30.x removed. 2.6.33 kernel headers, binutils 2.20.1, removed broken nios2 - support. + support, improved external toolchain support. X.org updated to 7.5. New packages: librsync, libusb-compat, lmbench, netperf, squid Updated/fixed packages: busybox, dnsmasq, dosfstools, - e2fsprogs, freetype, iperf, iptables, iw, less, libdrm, - libgcrypt, libglib2, libpng, libusb, libxml2, matchbox, mdadm, - memstat, mtd-utils, nano, openssl, php, pppd, qt, radvd, - setserial, squashfs, usb_modeswitch, wget, xlib_libX11, - xlib_libXfont + e2fsprogs, fbv, freetype, iperf, iptables, iw, less, libdrm, + libgcrypt, libglib2, libpng, libxml2, matchbox, mdadm, memstat, + mtd-utils, nano, openssl, php, pppd, qt, radvd, setserial, + squashfs, usb_modeswith, wget, xlib_libX11, xlib_libXfont Issues resolved (http://bugs.uclibc.org): @@ -24,6 +23,7 @@ #800: [PATCH] iperf update to 2.0.4 #805: [PATCH] mdadm - version update #817: integrator926_defconfig uses unsupported uboot board name + #851: Add option to specify --sysroot value for external toolchain #1093: Upgrade libusb to v1.0.3 and add new libusb-compat package for compatibility with old packages that expect the pre-1.0 API. @@ -47,6 +47,7 @@ #1441: Add binutils 2.20.1 #1447: Package installation on target with debug symbols is broken #1459: Misc QA fixes + #1489: radvd update to 1.6 2010.02, Release February 26th, 2010: diff --git a/package/fbv/fbv-1.0b-fix-bgr555.patch b/package/fbv/fbv-1.0b-fix-bgr555.patch new file mode 100644 index 000000000..8f185f0a3 --- /dev/null +++ b/package/fbv/fbv-1.0b-fix-bgr555.patch @@ -0,0 +1,64 @@ +[PATCH] fbv: support bgr555 format + +Signed-off-by: Josh.Wu <josh.wu@atmel.com> +diff -Naur fbv-1.0b-ori/fb_display.c fbv-1.0b/fb_display.c +--- fbv-1.0b-ori/fb_display.c 2010-04-02 09:38:15.000000000 +0800 ++++ fbv-1.0b/fb_display.c 2010-04-01 18:54:15.000000000 +0800 +@@ -297,6 +297,14 @@ + ((b >> 3) & 31) ); + } + ++inline static unsigned short make15color_bgr(unsigned char r, unsigned char g, unsigned char b) ++{ ++ return ( ++ (((b >> 3) & 31) << 10) | ++ (((g >> 3) & 31) << 5) | ++ ((r >> 3) & 31) ); ++} ++ + inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b) + { + return ( +@@ -313,6 +321,14 @@ + u_int16_t *s_fbbuff; + u_int32_t *i_fbbuff; + ++ int is_bgr555 = 0; ++ struct fb_var_screeninfo var; ++ getVarScreenInfo(fh, &var); ++ if(var.red.offset == 0 && ++ var.green.offset == 5 && ++ var.blue.offset == 10) ++ is_bgr555 = 1; ++ + switch(bpp) + { + case 8: +@@ -325,15 +341,23 @@ + case 15: + *cpp = 2; + s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); +- for(i = 0; i < count ; i++) +- s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ if(is_bgr555) ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ else ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); + fbbuff = (void *) s_fbbuff; + break; + case 16: + *cpp = 2; + s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); +- for(i = 0; i < count ; i++) +- s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ if(is_bgr555) ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ else ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); + fbbuff = (void *) s_fbbuff; + break; + case 24: diff --git a/package/matchbox/matchbox-desktop/matchbox-desktop.mk b/package/matchbox/matchbox-desktop/matchbox-desktop.mk index a3312af82..d5f61c1f1 100644 --- a/package/matchbox/matchbox-desktop/matchbox-desktop.mk +++ b/package/matchbox/matchbox-desktop/matchbox-desktop.mk @@ -7,16 +7,9 @@ MATCHBOX_DESKTOP_VERSION = 0.9.1 MATCHBOX_DESKTOP_SOURCE = matchbox-desktop-$(MATCHBOX_DESKTOP_VERSION).tar.bz2 MATCHBOX_DESKTOP_SITE = http://matchbox-project.org/sources/matchbox-desktop/$(MATCHBOX_DESKTOP_VERSION) -MATCHBOX_DESKTOP_LIBTOOL_PATCH = NO MATCHBOX_DESKTOP_DEPENDENCIES = matchbox-lib MATCHBOX_DESKTOP_CONF_OPT = --enable-expat -define MATCHBOX_DESKTOP_POST_INSTALL_FIXES - cp -f ./package/matchbox/matchbox-desktop/mbdesktop_modules $(TARGET_DIR)/etc/matchbox/ -endef - -MATCHBOX_DESKTOP_POST_INSTALL_TARGET_HOOKS += MATCHBOX_DESKTOP_POST_INSTALL_FIXES - ############################################################# ifeq ($(BR2_PACKAGE_STARTUP_NOTIFICATION),y) diff --git a/package/matchbox/matchbox-desktop/mbdesktop_modules b/package/matchbox/matchbox-desktop/mbdesktop_modules deleted file mode 100644 index 8206dad1f..000000000 --- a/package/matchbox/matchbox-desktop/mbdesktop_modules +++ /dev/null @@ -1,9 +0,0 @@ -# This file lists the 'plug-ins' with any arguments to be loaded by -# matchbox-desktop. -# -# It can be overridden on a per-user basis by copying this file to ~/.matchbox/ -# and editing. - -/usr/lib/tasks.so -/usr/lib/dotdesktop.so -# /usr/lib/simplefilebrowser.so / diff --git a/package/radvd/Config.in b/package/radvd/Config.in index 072aed4fa..c7753f038 100644 --- a/package/radvd/Config.in +++ b/package/radvd/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_RADVD bool "radvd" select BR2_PACKAGE_FLEX + select BR2_PACKAGE_FLEX_LIBFL depends on BR2_INET_IPV6 help IPv6 Router Advertisement Daemon. diff --git a/package/radvd/radvd.mk b/package/radvd/radvd.mk index defcf4b7c..fdc52acfa 100644 --- a/package/radvd/radvd.mk +++ b/package/radvd/radvd.mk @@ -3,14 +3,10 @@ # radvd # ############################################################# -RADVD_VERSION:=1.5 +RADVD_VERSION:=1.6 RADVD_SOURCE:=radvd-$(RADVD_VERSION).tar.gz RADVD_SITE:=http://www.litech.org/radvd/dist/ -RADVD_AUTORECONF:=no -RADVD_INSTALL_STAGING:=no -RADVD_INSTALL_TARGET:=YES RADVD_DEPENDENCIES:=flex host-flex -RADVD_MAKE:=$(MAKE1) RADVD_CONF_OPT:= --program-prefix='' $(eval $(call AUTOTARGETS,package,radvd)) diff --git a/toolchain/dependencies/dependencies.sh b/toolchain/dependencies/dependencies.sh index 146e08023..68b275176 100755 --- a/toolchain/dependencies/dependencies.sh +++ b/toolchain/dependencies/dependencies.sh @@ -122,7 +122,7 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then fi; # Check that a few mandatory programs are installed -for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl ; do +for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget ; do if ! which $prog > /dev/null ; then /bin/echo -e "\nYou must install '$prog' on your build machine"; if test $prog = "makeinfo" ; then diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk index 80bdae63b..449328131 100644 --- a/toolchain/external-toolchain/ext-tool.mk +++ b/toolchain/external-toolchain/ext-tool.mk @@ -205,14 +205,7 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP),y) EXTERNAL_LIBS+=libstdc++.so endif -# This dance is needed because the toolchain may have been relocated, so the -# configured paths may no longer match; fortunately, the sysroot moves along -# the toolchain, so is always at the same place relative to the toolchain's -# current location. -CFG_PREFIX_DIR=$(shell LANG=C $(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--prefix=" | cut -f2 -d=) -CFG_SYSROOT_DIR=$(shell LANG=C $(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--with-sysroot=" | cut -f2 -d=) -REL_SYSROOT_DIR=$(shell echo "$(CFG_SYSROOT_DIR)" |sed -r -e 's:^$(CFG_PREFIX_DIR)::;') -SYSROOT_DIR=$(TOOLCHAIN_EXTERNAL_PATH)/$(REL_SYSROOT_DIR) +SYSROOT_DIR=$(shell readlink -f $$(LANG=C $(TARGET_CC) -print-file-name=libc.a |sed -r -e 's:usr/lib/libc\.a::;')) $(STAMP_DIR)/ext-toolchain-installed: @echo "Checking external toolchain settings" diff --git a/toolchain/kernel-headers/linux-2.6.31.13-scsi-use-__uX-types-for-headers-exported-to-user-space.patch b/toolchain/kernel-headers/linux-2.6.31.13-scsi-use-__uX-types-for-headers-exported-to-user-space.patch index ac9875dd7..2fc6176e8 100644 --- a/toolchain/kernel-headers/linux-2.6.31.13-scsi-use-__uX-types-for-headers-exported-to-user-space.patch +++ b/toolchain/kernel-headers/linux-2.6.31.13-scsi-use-__uX-types-for-headers-exported-to-user-space.patch @@ -54,35 +54,6 @@ index 536752c..7445c46 100644 #define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK) -@@ -125,21 +125,21 @@ struct scsi_nl_host_vendor_msg { - #include <scsi/scsi_host.h> - - /* Exported Kernel Interfaces */ --int scsi_nl_add_transport(u8 tport, -+int scsi_nl_add_transport(__u8 tport, - int (*msg_handler)(struct sk_buff *), - void (*event_handler)(struct notifier_block *, unsigned long, void *)); --void scsi_nl_remove_transport(u8 tport); -+void scsi_nl_remove_transport(__u8 tport); - --int scsi_nl_add_driver(u64 vendor_id, struct scsi_host_template *hostt, -+int scsi_nl_add_driver(__u64 vendor_id, struct scsi_host_template *hostt, - int (*nlmsg_handler)(struct Scsi_Host *shost, void *payload, -- u32 len, u32 pid), -+ __u32 len, __u32 pid), - void (*nlevt_handler)(struct notifier_block *nb, - unsigned long event, void *notify_ptr)); --void scsi_nl_remove_driver(u64 vendor_id); -+void scsi_nl_remove_driver(__u64 vendor_id); - --void scsi_nl_send_transport_msg(u32 pid, struct scsi_nl_hdr *hdr); --int scsi_nl_send_vendor_msg(u32 pid, unsigned short host_no, u64 vendor_id, -- char *data_buf, u32 data_len); -+void scsi_nl_send_transport_msg(__u32 pid, struct scsi_nl_hdr *hdr); -+int scsi_nl_send_vendor_msg(__u32 pid, unsigned short host_no, __u64 vendor_id, -+ char *data_buf, __u32 data_len); - - #endif /* __KERNEL__ */ -- 1.6.5 diff --git a/toolchain/kernel-headers/linux-2.6.32.11-scsi-use-__uX-types-for-headers-exported-to-user-space.patch b/toolchain/kernel-headers/linux-2.6.32.11-scsi-use-__uX-types-for-headers-exported-to-user-space.patch index ac9875dd7..2fc6176e8 100644 --- a/toolchain/kernel-headers/linux-2.6.32.11-scsi-use-__uX-types-for-headers-exported-to-user-space.patch +++ b/toolchain/kernel-headers/linux-2.6.32.11-scsi-use-__uX-types-for-headers-exported-to-user-space.patch @@ -54,35 +54,6 @@ index 536752c..7445c46 100644 #define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK) -@@ -125,21 +125,21 @@ struct scsi_nl_host_vendor_msg { - #include <scsi/scsi_host.h> - - /* Exported Kernel Interfaces */ --int scsi_nl_add_transport(u8 tport, -+int scsi_nl_add_transport(__u8 tport, - int (*msg_handler)(struct sk_buff *), - void (*event_handler)(struct notifier_block *, unsigned long, void *)); --void scsi_nl_remove_transport(u8 tport); -+void scsi_nl_remove_transport(__u8 tport); - --int scsi_nl_add_driver(u64 vendor_id, struct scsi_host_template *hostt, -+int scsi_nl_add_driver(__u64 vendor_id, struct scsi_host_template *hostt, - int (*nlmsg_handler)(struct Scsi_Host *shost, void *payload, -- u32 len, u32 pid), -+ __u32 len, __u32 pid), - void (*nlevt_handler)(struct notifier_block *nb, - unsigned long event, void *notify_ptr)); --void scsi_nl_remove_driver(u64 vendor_id); -+void scsi_nl_remove_driver(__u64 vendor_id); - --void scsi_nl_send_transport_msg(u32 pid, struct scsi_nl_hdr *hdr); --int scsi_nl_send_vendor_msg(u32 pid, unsigned short host_no, u64 vendor_id, -- char *data_buf, u32 data_len); -+void scsi_nl_send_transport_msg(__u32 pid, struct scsi_nl_hdr *hdr); -+int scsi_nl_send_vendor_msg(__u32 pid, unsigned short host_no, __u64 vendor_id, -+ char *data_buf, __u32 data_len); - - #endif /* __KERNEL__ */ -- 1.6.5 diff --git a/toolchain/kernel-headers/linux-2.6.33.2-scsi-use-__uX-types-for-headers-exported-to-user-space.patch b/toolchain/kernel-headers/linux-2.6.33.2-scsi-use-__uX-types-for-headers-exported-to-user-space.patch new file mode 100644 index 000000000..1089c7106 --- /dev/null +++ b/toolchain/kernel-headers/linux-2.6.33.2-scsi-use-__uX-types-for-headers-exported-to-user-space.patch @@ -0,0 +1,59 @@ +From 877aa0313e7d22b88d04ebef76392e1688fffff9 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard <jacmet@sunsite.dk> +Date: Fri, 27 Nov 2009 11:20:54 +0100 +Subject: [PATCH] scsi: use __uX types for headers exported to user space +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 9e4f5e29 (FC Pass Thru support) exported a number of header files +in include/scsi to user space, but didn't change the uX types to the +userspace-compatible __uX types. Without that you'll get compile errors +when including them - E.G.: + +/tmp/include/scsi/scsi.h:145: error: expected specifier-qualifier-list +before ‘u8’ + +Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> +--- + include/scsi/scsi.h | 8 ++++---- + include/scsi/scsi_netlink.h | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h +index 8b4deca..ec3053e 100644 +--- a/include/scsi/scsi.h ++++ b/include/scsi/scsi.h +@@ -149,10 +149,10 @@ struct scsi_cmnd; + + /* defined in T10 SCSI Primary Commands-2 (SPC2) */ + struct scsi_varlen_cdb_hdr { +- u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */ +- u8 control; +- u8 misc[5]; +- u8 additional_cdb_length; /* total cdb length - 8 */ ++ __u8 opcode; /* opcode always == VARIABLE_LENGTH_CMD */ ++ __u8 control; ++ __u8 misc[5]; ++ __u8 additional_cdb_length; /* total cdb length - 8 */ + __be16 service_action; + /* service specific data follows */ + }; +diff --git a/include/scsi/scsi_netlink.h b/include/scsi/scsi_netlink.h +index 536752c..58ce8fe 100644 +--- a/include/scsi/scsi_netlink.h ++++ b/include/scsi/scsi_netlink.h +@@ -105,8 +105,8 @@ struct scsi_nl_host_vendor_msg { + * PCI : ID data is the 16 bit PCI Registered Vendor ID + */ + #define SCSI_NL_VID_TYPE_SHIFT 56 +-#define SCSI_NL_VID_TYPE_MASK ((u64)0xFF << SCSI_NL_VID_TYPE_SHIFT) +-#define SCSI_NL_VID_TYPE_PCI ((u64)0x01 << SCSI_NL_VID_TYPE_SHIFT) ++#define SCSI_NL_VID_TYPE_MASK ((__u64)0xFF << SCSI_NL_VID_TYPE_SHIFT) ++#define SCSI_NL_VID_TYPE_PCI ((__u64)0x01 << SCSI_NL_VID_TYPE_SHIFT) + #define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK) + + +-- +1.7.0 + diff --git a/toolchain/uClibc/uClibc-0.9.31-dnslookup-use-after-free.patch b/toolchain/uClibc/uClibc-0.9.31-dnslookup-use-after-free.patch new file mode 100644 index 000000000..9956d591a --- /dev/null +++ b/toolchain/uClibc/uClibc-0.9.31-dnslookup-use-after-free.patch @@ -0,0 +1,36 @@ +From eb1d8c8289f466ba3ad10b9a88ab2e426b8a9dc7 Mon Sep 17 00:00:00 2001 +From: Gabor Juhos <juhosg@openwrt.org> +Date: Tue, 6 Apr 2010 09:55:19 +0200 +Subject: [PATCH] Fix use-after-free bug in __dns_lookup + +If the type of the first answer does not match with the requested type, +then the dotted name was freed. If there are no further answers in +the DNS reply, this pointer was used later on in the same function. +Additionally it is passed to the caller, and caused strange +behaviour. + +Signed-off-by: Gabor Juhos <juhosg@openwrt.org> +Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> +--- + libc/inet/resolv.c | 4 +--- + 1 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c +index 056539f..9459199 100644 +--- a/libc/inet/resolv.c ++++ b/libc/inet/resolv.c +@@ -1517,10 +1517,8 @@ int attribute_hidden __dns_lookup(const char *name, + memcpy(a, &ma, sizeof(ma)); + if (a->atype != T_SIG && (NULL == a->buf || (type != T_A && type != T_AAAA))) + break; +- if (a->atype != type) { +- free(a->dotted); ++ if (a->atype != type) + continue; +- } + a->add_count = h.ancount - j - 1; + if ((a->rdlength + sizeof(struct in_addr*)) * a->add_count > a->buflen) + break; +-- +1.7.0 + |