aboutsummaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-06-04 11:29:22 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-06-04 11:29:22 +0000
commitdd995e7df37a946a72580633ca07a5cef126c7c9 (patch)
treee6218026c77157da0914676b46fe826f0d5d8b51 /main/libc0.9.32
parent20fd5f43c3f00b987a2f59890a45643f628393a3 (diff)
downloadaports-dd995e7df37a946a72580633ca07a5cef126c7c9.tar.bz2
aports-dd995e7df37a946a72580633ca07a5cef126c7c9.tar.xz
main/libc0.9.32: new snapshot
Diffstat (limited to 'main/libc0.9.32')
-rw-r--r--main/libc0.9.32/0001-ldd-segfault-fix.patch49
-rw-r--r--main/libc0.9.32/0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch125
-rw-r--r--main/libc0.9.32/0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch69
-rw-r--r--main/libc0.9.32/APKBUILD17
4 files changed, 7 insertions, 253 deletions
diff --git a/main/libc0.9.32/0001-ldd-segfault-fix.patch b/main/libc0.9.32/0001-ldd-segfault-fix.patch
deleted file mode 100644
index 4384fa548c..0000000000
--- a/main/libc0.9.32/0001-ldd-segfault-fix.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f29b6882327573ec4e694c1c852307c957d544b9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 5 May 2009 14:10:42 +0000
-Subject: [PATCH] ldd segfault fix
-
-Fixes ldd segfault on this testcase:
-
-extern void _dl_getenv(void);
-void foo(void)
-{
- printf("foo: %x\n", &_dl_getenv);
-}
-
-linked as -shared
----
- utils/ldd.c | 8 +++++---
- 1 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/utils/ldd.c b/utils/ldd.c
-index 1f1dc25..2cd173c 100644
---- a/utils/ldd.c
-+++ b/utils/ldd.c
-@@ -576,18 +576,20 @@ static struct library *find_elf_interpreter(ElfW(Ehdr) *ehdr)
- }
- newlib->name = NULL;
- newlib->path = NULL;
-- return NULL;
-+ break;
- }
- }
-- if (newlib == NULL)
-+ if (newlib == NULL) {
- newlib = malloc(sizeof(struct library));
-+ if (newlib)
-+ newlib->next = NULL;
-+ }
- if (!newlib)
- return NULL;
- newlib->name = malloc(strlen(s) + 1);
- strcpy(newlib->name, s);
- newlib->path = strdup(newlib->name);
- newlib->resolved = 1;
-- newlib->next = NULL;
-
- #if 0
- /*printf("find_elf_interpreter is adding '%s' to '%s'\n", newlib->name, newlib->path); */
---
-1.6.2.3
-
diff --git a/main/libc0.9.32/0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch b/main/libc0.9.32/0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch
deleted file mode 100644
index 2898a0d02d..0000000000
--- a/main/libc0.9.32/0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 67403d1d692c3b8022b0adca127a2c14ef8e3237 Mon Sep 17 00:00:00 2001
-From: Timo Teras <timo.teras@iki.fi>
-Date: Fri, 7 May 2010 11:28:27 +0300
-Subject: [PATCH 1/2] static build: fix internal locking weaks to get pulled in always
-
-Linker is smart and does not pull in weaks.os, ever. This happens
-because that compilation unit does not get strong references and
-ld eliminates dead code. We really need the weaks for static build
-in a compilation unit that is always there, otherwise it won't work.
-
-Signed-off-by: Timo Teras <timo.teras@iki.fi>
----
- libc/misc/internals/__uClibc_main.c | 35 ++++++++++++++++++++++++++++++
- libc/misc/pthread/Makefile.in | 1 -
- libc/misc/pthread/weaks.c | 40 -----------------------------------
- 3 files changed, 35 insertions(+), 41 deletions(-)
- delete mode 100644 libc/misc/pthread/weaks.c
-
-diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
-index f7e45c6..f9e1244 100644
---- a/libc/misc/internals/__uClibc_main.c
-+++ b/libc/misc/internals/__uClibc_main.c
-@@ -68,6 +68,41 @@ uintptr_t __guard attribute_relro;
- */
-
- void internal_function _dl_aux_init (ElfW(auxv_t) *av);
-+
-+/*
-+ * uClibc internal locking requires that we have weak aliases
-+ * for dummy functions in case libpthread.a is not linked in.
-+ * This needs to be in compilation unit that is pulled always
-+ * in or linker will disregard these weaks.
-+ */
-+
-+static int __pthread_return_0 (pthread_mutex_t *unused) { return 0; }
-+weak_alias (__pthread_return_0, __pthread_mutex_lock)
-+weak_alias (__pthread_return_0, __pthread_mutex_trylock)
-+weak_alias (__pthread_return_0, __pthread_mutex_unlock)
-+
-+int weak_function
-+__pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
-+{
-+ return 0;
-+}
-+
-+void weak_function
-+_pthread_cleanup_push_defer(struct _pthread_cleanup_buffer *__buffer,
-+ void (*__routine) (void *), void *__arg)
-+{
-+ __buffer->__routine = __routine;
-+ __buffer->__arg = __arg;
-+}
-+
-+void weak_function
-+_pthread_cleanup_pop_restore(struct _pthread_cleanup_buffer *__buffer,
-+ int __execute)
-+{
-+ if (__execute)
-+ __buffer->__routine(__buffer->__arg);
-+}
-+
- #endif /* !SHARED */
-
- /*
-diff --git a/libc/misc/pthread/Makefile.in b/libc/misc/pthread/Makefile.in
-index 69cdf10..2f436ac 100644
---- a/libc/misc/pthread/Makefile.in
-+++ b/libc/misc/pthread/Makefile.in
-@@ -11,7 +11,6 @@ MISC_PTHREAD_DIR := $(top_srcdir)libc/misc/pthread
- MISC_PTHREAD_OUT := $(top_builddir)libc/misc/pthread
-
- libc-shared-$(UCLIBC_HAS_TLS) += $(MISC_PTHREAD_OUT)/tsd.os
--libc-static-$(UCLIBC_HAS_THREADS) += $(MISC_PTHREAD_OUT)/weaks.o
-
- objclean-y += CLEAN_libc/misc/pthread
-
-diff --git a/libc/misc/pthread/weaks.c b/libc/misc/pthread/weaks.c
-deleted file mode 100644
-index fb1d85f..0000000
---- a/libc/misc/pthread/weaks.c
-+++ /dev/null
-@@ -1,40 +0,0 @@
--/* The weak pthread functions for Linux.
-- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Library General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Library General Public License for more details.
--
-- You should have received a copy of the GNU Library General Public
-- License along with the GNU C Library; see the file COPYING.LIB. If not,
-- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-- Boston, MA 02111-1307, USA. */
--
--#include <libc-internal.h>
--
--/* Weaks for internal library use only.
-- *
-- * We need to define weaks here to cover all the pthread functions that
-- * libc itself will use so that we aren't forced to link libc against
-- * libpthread. This file is only used in libc.a and since we have
-- * weaks here, they will be automatically overridden by libpthread.a
-- * if it gets linked in.
-- */
--
--static int __pthread_return_0 (void) { return 0; }
--static void __pthread_return_void (void) { return; }
--
--weak_alias (__pthread_return_0, __pthread_mutex_init)
--weak_alias (__pthread_return_0, __pthread_mutex_lock)
--weak_alias (__pthread_return_0, __pthread_mutex_trylock)
--weak_alias (__pthread_return_0, __pthread_mutex_unlock)
--weak_alias (__pthread_return_void, _pthread_cleanup_push_defer)
--weak_alias (__pthread_return_void, _pthread_cleanup_pop_restore)
--
---
-1.6.3.3
-
diff --git a/main/libc0.9.32/0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch b/main/libc0.9.32/0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch
deleted file mode 100644
index 562d648a6a..0000000000
--- a/main/libc0.9.32/0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From bfe9a589a402d4b6265e32b1b5ca0942efdcff3b Mon Sep 17 00:00:00 2001
-From: Timo Teras <timo.teras@iki.fi>
-Date: Fri, 7 May 2010 11:30:04 +0300
-Subject: [PATCH 2/2] resolv: various memory corruption and off by one fixes
-
-Fixes resolution of names with AAAA entries and gethostbyaddr issues.
-
-Signed-off-by: Timo Teras <timo.teras@iki.fi>
----
- libc/inet/resolv.c | 12 ++++++++----
- 1 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
-index 84289a6..320aec4 100644
---- a/libc/inet/resolv.c
-+++ b/libc/inet/resolv.c
-@@ -689,7 +689,7 @@ int attribute_hidden __decode_dotted(const unsigned char *packet,
-
- if (used + b + 1 >= dest_len)
- return -1;
-- if (offset + b + 1 >= packet_len)
-+ if (offset + b >= packet_len)
- return -1;
- memcpy(dest + used, packet + offset, b);
- offset += b;
-@@ -2417,7 +2417,7 @@ int gethostbyaddr_r(const void *addr, socklen_t addrlen,
- /* Layout in buf:
- * char *alias[ALIAS_DIM];
- * struct in[6]_addr* addr_list[2];
-- * struct in[6]_addr* in;
-+ * struct in[6]_addr in;
- * char scratch_buffer[256+];
- */
- #define in6 ((struct in6_addr *)in)
-@@ -2431,9 +2431,13 @@ int gethostbyaddr_r(const void *addr, socklen_t addrlen,
- #ifndef __UCLIBC_HAS_IPV6__
- buf += sizeof(*in);
- buflen -= sizeof(*in);
-+ if (addrlen > sizeof(*in))
-+ return ERANGE;
- #else
- buf += sizeof(*in6);
- buflen -= sizeof(*in6);
-+ if (addrlen > sizeof(*in6))
-+ return ERANGE;
- #endif
- if ((ssize_t)buflen < 256)
- return ERANGE;
-@@ -2441,7 +2445,7 @@ int gethostbyaddr_r(const void *addr, socklen_t addrlen,
- alias[1] = NULL;
- addr_list[0] = in;
- addr_list[1] = NULL;
-- memcpy(&in, addr, addrlen);
-+ memcpy(in, addr, addrlen);
-
- if (0) /* nothing */;
- #ifdef __UCLIBC_HAS_IPV4__
-@@ -2456,7 +2460,7 @@ int gethostbyaddr_r(const void *addr, socklen_t addrlen,
- char *dst = buf;
- unsigned char *tp = (unsigned char *)addr + addrlen - 1;
- do {
-- dst += sprintf(dst, "%x.%x.", tp[i] & 0xf, tp[i] >> 4);
-+ dst += sprintf(dst, "%x.%x.", tp[0] & 0xf, tp[0] >> 4);
- tp--;
- } while (tp >= (unsigned char *)addr);
- strcpy(dst, "ip6.arpa");
---
-1.6.3.3
-
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD
index 0b7751f3e8..21783636d6 100644
--- a/main/libc0.9.32/APKBUILD
+++ b/main/libc0.9.32/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_abiver=0.9.32
pkgname=libc$_abiver
-_gitver=100507
+_gitver=1006041126
pkgver=${_abiver}_alpha0_git$_gitver
-pkgrel=3
+pkgrel=0
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -17,9 +17,6 @@ _snapurl="http://git.uclibc.org/uClibc/snapshot/master.tar.bz2"
_snapfile="$pkgname-$pkgver.tar.bz2"
source="http://build.alpinelinux.org:8010/distfiles/$_snapfile
compat-stack-guard.patch
- 0001-ldd-segfault-fix.patch
- 0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch
- 0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch
uclibc-libm-pic.patch
uclibc-resolv-tls.patch
uclibcconfig.x86
@@ -31,12 +28,15 @@ _builddir="$srcdir"/master
snapshot() {
local _date=$(date +%y%m%d%H%M)
+ _gitver=$_date
pkgver=${_abiver}_alpha0_git$_gitver
+ _snapfile="$pkgname-$pkgver.tar.bz2"
rm -f "$SRCDEST"/$_snapfile
+ msg "snapfile=$_snapfile"
wget -O "$SRCDEST"/$_snapfile $_snapurl
pkgrel=0
- sed -i -e "s/^_gitver=.*/_gitver=$(date +%y%m%d)/" \
+ sed -i -e "s/^_gitver=.*/_gitver=$_gitver/" \
-e "s/^pkgrel=.*/pkgrel=$pkgrel/" \
APKBUILD
checksum
@@ -95,11 +95,8 @@ utils() {
mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
}
-md5sums="46e98672dc2a4309d9a7c65b4e626845 libc0.9.32-0.9.32_alpha0_git100507.tar.bz2
+md5sums="048f92606460621d9402c43417392992 libc0.9.32-0.9.32_alpha0_git1006041126.tar.bz2
4d408f72142ce55a0754948cc9cfe447 compat-stack-guard.patch
-4079b20c763727863bc53408e4988434 0001-ldd-segfault-fix.patch
-826666b365f2d63a71d67eb76c94f7bc 0001-static-build-fix-internal-locking-weaks-to-get-pulle.patch
-0800a489a738c7b1d8c3643cb9806926 0002-resolv-various-memory-corruption-and-off-by-one-fixe.patch
2f9739a980be24a842c57516155c7885 uclibc-libm-pic.patch
d08831b452acdeaa3037525ee617edab uclibc-resolv-tls.patch
e2eb3bb00a0fe4d6f3d5b5c56b027bab uclibcconfig.x86