summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES16
-rw-r--r--package/bzip2/bzip2.mk2
-rw-r--r--package/e2fsprogs/e2fsprogs.mk2
-rw-r--r--package/libsvgtiny/libsvgtiny-disable-debug-printfs.patch125
-rw-r--r--package/libsvgtiny/libsvgtiny.mk (renamed from package/libsvgtiny/libsvtiny.mk)22
-rw-r--r--toolchain/uClibc/uClibc-0.9.31-more-workarounds-GCC-PR32219.patch40
-rw-r--r--toolchain/uClibc/uClibc-0.9.31-workaround-GCC-PR32219.patch57
7 files changed, 248 insertions, 16 deletions
diff --git a/CHANGES b/CHANGES
index 3222e7a0a..9f3d1a422 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,13 +15,14 @@
luafilesystem, luasocket, rings, wsapi, xavante, xterm
Updated/fixed packages: berkeleydb, bash, blackbox, busybox,
- cdrkit, dash, dialog, diffutils, distcc, dmalloc, dnsmasq,
- dropbear, fbv, file, gawk, gstreamer, gzip, intltool,
- ipsec-tools, iptables, libart, libfuse, libgpg-error, libidn,
- liblockfile, links, lmbench, lrzsz, make, module-init-tools,
- nbd, ncurses, netperf, ntfsprogs, openssl, php, qt, quagga,
- sqlite, sdl, sdl_mixer, sdl_sound, sdl_ttf, squashfs, tn5250,
- tremor, usbutils, xkeyboard-config, xserver_xorg-server
+ bzip2, cdrkit, dash, dialog, diffutils, distcc, dmalloc,
+ dnsmasq, dropbear, e2fsprogs, fbv, file, gawk, gstreamer,
+ gzip, intltool, ipsec-tools, iptables, libart, libfuse,
+ libgpg-error, libidn, liblockfile, links, lmbench, lrzsz,
+ make, module-init-tools, nbd, ncurses, netperf, ntfsprogs,
+ openssl, php, qt, quagga, sqlite, sdl, sdl_mixer, sdl_sound,
+ sdl_ttf, squashfs, tn5250, tremor, usbutils, xkeyboard-config,
+ xserver_xorg-server
Removed packages: modutils, portage, rxvt
@@ -54,6 +55,7 @@
#2095: make gconfig: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
#2101: blackbox depends on locale support
#2119: Tries to build kernel, although disabled in config
+ #2143: buildroot compiler generates segfaulting statically linked exe..
#2155: Compression lzo don't set for ubifs
2010.05, Released May 30th, 2010:
diff --git a/package/bzip2/bzip2.mk b/package/bzip2/bzip2.mk
index 39e183205..3f341ee7a 100644
--- a/package/bzip2/bzip2.mk
+++ b/package/bzip2/bzip2.mk
@@ -49,7 +49,9 @@ define BZIP2_INSTALL_STAGING_CMDS
)
endef
+# make sure busybox doesn't get overwritten by make install
define BZIP2_INSTALL_TARGET_CMDS
+ rm -f $(addprefix $(TARGET_DIR)/usr/bin/,bzip2 bunzip2 bzcat)
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
$(MAKE) PREFIX=$(TARGET_DIR)/usr -C $(@D) install
cp $(@D)/libbz2.so.$(BZIP2_SONAME) $(TARGET_DIR)/usr/lib/
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index af3c3eda2..78bf21c47 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -3,7 +3,7 @@
# e2fsprogs
#
#############################################################
-E2FSPROGS_VERSION:=1.41.11
+E2FSPROGS_VERSION:=1.41.12
E2FSPROGS_SOURCE=e2fsprogs-$(E2FSPROGS_VERSION).tar.gz
E2FSPROGS_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/e2fsprogs
diff --git a/package/libsvgtiny/libsvgtiny-disable-debug-printfs.patch b/package/libsvgtiny/libsvgtiny-disable-debug-printfs.patch
new file mode 100644
index 000000000..72ed21ccf
--- /dev/null
+++ b/package/libsvgtiny/libsvgtiny-disable-debug-printfs.patch
@@ -0,0 +1,125 @@
+svntiny: svntiny_gradient.c: only print debugging if GRADIENT_DEBUG is enabled
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/svgtiny_gradient.c | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+Index: libsvgtiny/src/svgtiny_gradient.c
+===================================================================
+--- libsvgtiny.orig/src/svgtiny_gradient.c
++++ libsvgtiny/src/svgtiny_gradient.c
+@@ -30,8 +30,9 @@ void svgtiny_find_gradient(const char *i
+ {
+ xmlNode *gradient;
+
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "svgtiny_find_gradient: id \"%s\"\n", id);
+-
++#endif
+ state->linear_gradient_stop_count = 0;
+ state->gradient_x1 = "0%";
+ state->gradient_y1 = "0%";
+@@ -47,13 +48,17 @@ void svgtiny_find_gradient(const char *i
+
+ gradient = svgtiny_find_element_by_id(
+ (xmlNode *) state->document, id);
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "gradient %p\n", (void *) gradient);
++#endif
+ if (!gradient) {
+ fprintf(stderr, "gradient \"%s\" not found\n", id);
+ return;
+ }
+
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "gradient name \"%s\"\n", gradient->name);
++#endif
+ if (strcmp((const char *) gradient->name, "linearGradient") == 0) {
+ svgtiny_parse_linear_gradient(gradient, state);
+ }
+@@ -98,8 +103,10 @@ svgtiny_code svgtiny_parse_linear_gradie
+ return svgtiny_OUT_OF_MEMORY;
+ svgtiny_parse_transform(s, &a, &b, &c, &d, &e, &f);
+ free(s);
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "transform %g %g %g %g %g %g\n",
+ a, b, c, d, e, f);
++#endif
+ state->gradient_transform.a = a;
+ state->gradient_transform.b = b;
+ state->gradient_transform.c = c;
+@@ -143,7 +150,9 @@ svgtiny_code svgtiny_parse_linear_gradie
+ }
+
+ if (offset != -1 && color != svgtiny_TRANSPARENT) {
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "stop %g %x\n", offset, color);
++#endif
+ state->gradient_stop[i].offset = offset;
+ state->gradient_stop[i].color = color;
+ i++;
+@@ -220,9 +229,11 @@ svgtiny_code svgtiny_add_path_linear_gra
+ #endif
+
+ /* compute gradient vector */
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "x1 %s, y1 %s, x2 %s, y2 %s\n",
+ state->gradient_x1, state->gradient_y1,
+ state->gradient_x2, state->gradient_y2);
++#endif
+ if (!state->gradient_user_space_on_use) {
+ gradient_x0 = object_x0 +
+ svgtiny_parse_length(state->gradient_x1,
+@@ -297,9 +308,11 @@ svgtiny_code svgtiny_add_path_linear_gra
+
+ /* invert gradient transform for applying to vertices */
+ svgtiny_invert_matrix(&state->gradient_transform.a, trans);
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "inverse transform %g %g %g %g %g %g\n",
+ trans[0], trans[1], trans[2], trans[3],
+ trans[4], trans[5]);
++#endif
+
+ /* compute points on the path for triangle vertices */
+ /* r, r0, r1 are distance along gradient vector */
+@@ -372,8 +385,10 @@ svgtiny_code svgtiny_add_path_linear_gra
+ steps = ceilf(fabsf(r1 - r0) / 0.05);
+ if (steps == 0)
+ steps = 1;
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "r0 %g, r1 %g, steps %i\n",
+ r0, r1, steps);
++#endif
+
+ /* loop through intermediate points */
+ for (z = 1; z != steps; z++) {
+@@ -398,7 +413,9 @@ svgtiny_code svgtiny_add_path_linear_gra
+ r = ((x_trans - gradient_x0) * gradient_dx +
+ (y_trans - gradient_y0) * gradient_dy) /
+ gradient_norm_squared;
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "(%g %g [%g]) ", x, y, r);
++#endif
+ point = svgtiny_list_push(pts);
+ if (!point) {
+ svgtiny_list_free(pts);
+@@ -412,14 +429,18 @@ svgtiny_code svgtiny_add_path_linear_gra
+ min_pt = svgtiny_list_size(pts) - 1;
+ }
+ }
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "\n");
++#endif
+
+ /* next segment start point is this segment end point */
+ x0 = x1;
+ y0 = y1;
+ }
++#ifdef GRADIENT_DEBUG
+ fprintf(stderr, "pts size %i, min_pt %i, min_r %.3f\n",
+ svgtiny_list_size(pts), min_pt, min_r);
++#endif
+
+ /* render triangles */
+ stop_count = state->linear_gradient_stop_count;
diff --git a/package/libsvgtiny/libsvtiny.mk b/package/libsvgtiny/libsvgtiny.mk
index 57430fe89..5e533466b 100644
--- a/package/libsvgtiny/libsvtiny.mk
+++ b/package/libsvgtiny/libsvgtiny.mk
@@ -10,7 +10,7 @@ LIBSVGTINY_SVNDIR = libsvgtiny-svn-r$(LIBSVGTINY_VERSION)
LIBSVGTINY_SOURCE = $(LIBSVGTINY_SVNDIR).tar.bz2
LIBSVGTINY_INSTALL_STAGING = YES
LIBSVGTINY_INSTALL_TARGET = YES
-LIBSVGTINY_DEPENDENCIES = libxml2
+LIBSVGTINY_DEPENDENCIES = libxml2 host-gperf
$(DL_DIR)/$(LIBSVGTINY_SOURCE):
$(SVN_CO) -r $(LIBSVGTINY_VERSION) $(LIBSVGTINY_SITE) $(BUILD_DIR)/$(LIBSVGTINY_SVNDIR)
@@ -21,27 +21,33 @@ $(DL_DIR)/$(LIBSVGTINY_SOURCE):
LIBSVGTINY_TARGET_SOURCE := $(DL_DIR)/$(LIBSVGTINY_SOURCE)
define LIBSVGTINY_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) PREFIX=/usr
endef
define LIBSVGTINY_INSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) install
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) install
endef
define LIBSVGTINY_UNINSTALL_STAGING_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) uninstall
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) uninstall
endef
define LIBSVGTINY_INSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) install
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) install
endef
define LIBSVGTINY_UNINSTALL_TARGET_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) uninstall
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) uninstall
endef
-define BZIP2_CLEAN_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) clean
+define LIBSVGTINY_CLEAN_CMDS
+ $(TARGET_CONFIGURE_ENV) $(TARGET_CONFIGURE_OPTS) \
+ $(MAKE) -C $(@D) clean
endef
$(eval $(call GENTARGETS,package,libsvgtiny))
diff --git a/toolchain/uClibc/uClibc-0.9.31-more-workarounds-GCC-PR32219.patch b/toolchain/uClibc/uClibc-0.9.31-more-workarounds-GCC-PR32219.patch
new file mode 100644
index 000000000..9e6953224
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.31-more-workarounds-GCC-PR32219.patch
@@ -0,0 +1,40 @@
+From aa67771881d65373da448ad5f7a8393f3a1d9469 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Wed, 30 Jun 2010 14:46:37 +0300
+Subject: [PATCH] more workarounds for GCC PR32219
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Commit 2e53dd645d5348f207cec7f8595969dc566c5a55 workarounds GCC
+bug when accessing _locale_init and _stdio_init. We need the same
+fix for __errno_location and __h_errno_location otherwise we crash
+calling null with static and non-threaded builds.
+
+Signed-off-by: Timo Teräs <timo.teras@iki.fi>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+ libc/misc/internals/__uClibc_main.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
+index 3f09ad2..58f6643 100644
+--- a/libc/misc/internals/__uClibc_main.c
++++ b/libc/misc/internals/__uClibc_main.c
+@@ -447,11 +447,11 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
+ * have resulted in errno being set nonzero, so set it to 0 before
+ * we call main.
+ */
+- if (likely(__errno_location!=NULL))
++ if (likely(not_null_ptr(__errno_location)))
+ *(__errno_location()) = 0;
+
+ /* Set h_errno to 0 as well */
+- if (likely(__h_errno_location!=NULL))
++ if (likely(not_null_ptr(__h_errno_location)))
+ *(__h_errno_location()) = 0;
+
+ #if defined HAVE_CLEANUP_JMP_BUF && defined __UCLIBC_HAS_THREADS_NATIVE__
+--
+1.7.1
+
diff --git a/toolchain/uClibc/uClibc-0.9.31-workaround-GCC-PR32219.patch b/toolchain/uClibc/uClibc-0.9.31-workaround-GCC-PR32219.patch
new file mode 100644
index 000000000..242a5264b
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.31-workaround-GCC-PR32219.patch
@@ -0,0 +1,57 @@
+From 2e53dd645d5348f207cec7f8595969dc566c5a55 Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@googlemail.com>
+Date: Mon, 17 May 2010 15:56:19 +0200
+Subject: [PATCH] workaround GCC PR32219
+
+we ended up calling 0
+Fixes bug #1033
+
+Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+ libc/misc/internals/__uClibc_main.c | 15 +++++++++++++--
+ 1 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
+index f9e1244..4ee4443 100644
+--- a/libc/misc/internals/__uClibc_main.c
++++ b/libc/misc/internals/__uClibc_main.c
+@@ -105,6 +105,17 @@ _pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer *__buffer,
+
+ #endif /* !SHARED */
+
++/* Defeat compiler optimization which assumes function addresses are never NULL */
++static __always_inline int not_null_ptr(const void *p)
++{
++ const void *q;
++ __asm__ (""
++ : "=r" (q) /* output */
++ : "0" (p) /* input */
++ );
++ return q != 0;
++}
++
+ /*
+ * Prototypes.
+ */
+@@ -254,7 +265,7 @@ void __uClibc_init(void)
+
+ #ifdef __UCLIBC_HAS_LOCALE__
+ /* Initialize the global locale structure. */
+- if (likely(_locale_init!=NULL))
++ if (likely(not_null_ptr(_locale_init)))
+ _locale_init();
+ #endif
+
+@@ -264,7 +275,7 @@ void __uClibc_init(void)
+ * Thus we get a nice size savings because the stdio functions
+ * won't be pulled into the final static binary unless used.
+ */
+- if (likely(_stdio_init != NULL))
++ if (likely(not_null_ptr(_stdio_init)))
+ _stdio_init();
+
+ }
+--
+1.7.1
+