summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-06-30 13:35:19 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-06-30 13:35:19 +0000
commitf3ccfb9ab84ee64c32fdfb3d4d6c11a7e683d031 (patch)
tree4a940f1e1cd594ab4aaa058e4ced378d870b70d0 /main/libc0.9.32
parent0235b2c2cc3bd9fe9203de4ad087df8c9555bad2 (diff)
downloadaports-f3ccfb9ab84ee64c32fdfb3d4d6c11a7e683d031.tar.bz2
aports-f3ccfb9ab84ee64c32fdfb3d4d6c11a7e683d031.tar.xz
main/libc0.9.32: workaround gcc optimizer bug
which causes static stuff go bad. ref #373
Diffstat (limited to 'main/libc0.9.32')
-rw-r--r--main/libc0.9.32/APKBUILD4
-rw-r--r--main/libc0.9.32/uclibc-gcc-workaround.patch58
2 files changed, 61 insertions, 1 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD
index c9fc7c393..328368895 100644
--- a/main/libc0.9.32/APKBUILD
+++ b/main/libc0.9.32/APKBUILD
@@ -3,7 +3,7 @@ _abiver=0.9.32
pkgname=libc$_abiver
_gitver=1006300816
pkgver=${_abiver}_alpha0_git$_gitver
-pkgrel=0
+pkgrel=1
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -20,6 +20,7 @@ source="http://build.alpinelinux.org:8010/distfiles/$_snapfile
uclibc-libm-pic.patch
uclibc-lutimes.patch
uclibc-resolv-tls.patch
+ uclibc-gcc-workaround.patch
uclibcconfig.x86
uclibcconfig.i486
"
@@ -101,5 +102,6 @@ md5sums="b7af86c013378888fbd345c47ad21c3a libc0.9.32-0.9.32_alpha0_git100630081
2f9739a980be24a842c57516155c7885 uclibc-libm-pic.patch
4d0b8170e6580b47bf5775e65a6f081e uclibc-lutimes.patch
d08831b452acdeaa3037525ee617edab uclibc-resolv-tls.patch
+a88b7f394c86dc7aa606c9e338e35515 uclibc-gcc-workaround.patch
e2eb3bb00a0fe4d6f3d5b5c56b027bab uclibcconfig.x86
e2eb3bb00a0fe4d6f3d5b5c56b027bab uclibcconfig.i486"
diff --git a/main/libc0.9.32/uclibc-gcc-workaround.patch b/main/libc0.9.32/uclibc-gcc-workaround.patch
new file mode 100644
index 000000000..f698ecb79
--- /dev/null
+++ b/main/libc0.9.32/uclibc-gcc-workaround.patch
@@ -0,0 +1,58 @@
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+To: uclibc@uclibc.org
+Subject: [PATCH] more workarounds for GCC PR32219
+Date: Wed, 30 Jun 2010 14:46:37 +0300
+Message-Id: <1277898397-10643-1-git-send-email-timo.teras@iki.fi>
+X-Mailer: git-send-email 1.7.0.4
+MIME-Version: 1.0
+X-BeenThere: uclibc@uclibc.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Discussion and development of uClibc \(the embedded C library\)"
+ <uclibc.uclibc.org>
+List-Unsubscribe: <http://lists.busybox.net/mailman/options/uclibc>,
+ <mailto:uclibc-request@uclibc.org?subject=unsubscribe>
+List-Archive: <http://lists.busybox.net/pipermail/uclibc>
+List-Post: <mailto:uclibc@uclibc.org>
+List-Help: <mailto:uclibc-request@uclibc.org?subject=help>
+List-Subscribe: <http://lists.busybox.net/mailman/listinfo/uclibc>,
+ <mailto:uclibc-request@uclibc.org?subject=subscribe>
+Content-Type: text/plain; charset="utf-8"
+Sender: uclibc-bounces@uclibc.org
+Errors-To: uclibc-bounces@uclibc.org
+
+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>
+---
+ 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 44d1620..e8c470b 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.0.4
+
+_______________________________________________
+uClibc mailing list
+uClibc@uclibc.org
+http://lists.busybox.net/mailman/listinfo/uclibc