Commit 9dd186c8 authored by Natanael Copa's avatar Natanael Copa

main/libc0.9.32: update snapshot

parent 50bd43f7
From e351f233334cb5484309133789646e165f4e64db Mon Sep 17 00:00:00 2001
From: Natanael Copa <natanael.copa@gmail.com>
Date: Wed, 11 Aug 2010 11:57:46 +0000
Subject: [PATCH] netdb: increase line size for /etc/services
If /etc/services has lines longer than 80 will getservbyname() fail
so we set it up to 160.
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
---
libc/inet/getservice.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libc/inet/getservice.c b/libc/inet/getservice.c
index 03f5c29..8248f7a 100644
--- a/libc/inet/getservice.c
+++ b/libc/inet/getservice.c
@@ -29,7 +29,7 @@ aliases: case sensitive optional space or tab separated list of other names
__UCLIBC_MUTEX_STATIC(mylock, PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
#define MAXALIASES 35
-#define BUFSZ (80) /* one line */
+#define BUFSZ (160) /* one line */
#define SBUFSIZE (BUFSZ + 1 + (sizeof(char *) * MAXALIASES))
static parser_t *servp = NULL;
--
1.7.2.1
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_abiver=0.9.32
pkgname=libc$_abiver
_gitver=1010161651
_gitver=1010271211
pkgver=${_abiver}_alpha0_git$_gitver
pkgrel=2
pkgrel=0
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
......@@ -20,15 +20,10 @@ _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
uclibc-libm-pic.patch
0001-create-DEVEL_PREFIX-MULTILIB_DIR-dir-rather-than-DEV.patch
uclibcconfig.x86
uclibcconfig.i486
"
# uclibc-resolv-tls.patch
# 0001-config-parser-fix-memory-corruption.patch
# 0001-nptl-fix-calling-convention-for-__pthread_mutex_cond.patch
# ld-tls.patch
_config="$srcdir"/uclibcconfig.${ARCH:-x86}
_builddir="$srcdir"/master
......@@ -116,9 +111,8 @@ libthread_db() {
mv "$pkgdir"/lib/libthread_db* "$subpkgdir"/lib/
}
md5sums="02ab241c13849911695c31b01f98a73e libc0.9.32-0.9.32_alpha0_git1010161651.tar.bz2
md5sums="39a2e30a2bf5db70851e45d386ebdf73 libc0.9.32-0.9.32_alpha0_git1010271211.tar.bz2
4d408f72142ce55a0754948cc9cfe447 compat-stack-guard.patch
2f9739a980be24a842c57516155c7885 uclibc-libm-pic.patch
9dd8192227f54d6d3ccb49dc54137ff3 0001-create-DEVEL_PREFIX-MULTILIB_DIR-dir-rather-than-DEV.patch
145aaeb1833159397cfac9902e3877ab uclibcconfig.x86
145aaeb1833159397cfac9902e3877ab uclibcconfig.i486"
GCC can emit prologue/epilogue code for the functions in various
different cases:
- frame pointers
- PIC build (to load ebx for indirect calls/jumps)
- forced stack smashing protection
If we used jump in such cases, we'd corrupt the call stack and
crash.
Signed-off-by: Timo Teräs <timo.teras at iki.fi>
---
libm/ldouble_wrappers.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/libm/ldouble_wrappers.c b/libm/ldouble_wrappers.c
index 7d5af90..5b424dc 100644
--- a/libm/ldouble_wrappers.c
+++ b/libm/ldouble_wrappers.c
@@ -60,7 +60,9 @@ long long func##l(long double x) \
* The return value is returned in st(0) per ABI in both cases (returning
* a long double or returning a double). So we can simply jump to func.
* Using __GI_func in jump to make optimized intra-library jump.
- * gcc will still generate a useless "ret" after asm. Oh well...
+ *
+ * We do need to use call (instead of tail jump) as gcc can create
+ * stack frame, and push/modify/pop ebx during PIC build.
*/
# define WRAPPER1(func) \
long double func##l(long double x) \
@@ -69,7 +71,7 @@ long double func##l(long double x) \
__asm ( \
" fldt %1\n" \
" fstpl %1\n" \
- " jmp " __stringify(__GI_##func) "\n" \
+ " call " __stringify(__GI_##func) "\n" \
: "=t" (st_top) \
: "m" (x) \
); \
@@ -82,7 +84,7 @@ int func##l(long double x) \
__asm ( \
" fldt %1\n" \
" fstpl %1\n" \
- " jmp " __stringify(__GI_##func) "\n" \
+ " call " __stringify(__GI_##func) "\n" \
: "=a" (ret) \
: "m" (x) \
); \
@@ -95,7 +97,7 @@ long func##l(long double x) \
__asm ( \
" fldt %1\n" \
" fstpl %1\n" \
- " jmp " __stringify(__GI_##func) "\n" \
+ " call " __stringify(__GI_##func) "\n" \
: "=a" (ret) \
: "m" (x) \
); \
@@ -108,7 +110,7 @@ long long func##l(long double x) \
__asm ( \
" fldt %1\n" \
" fstpl %1\n" \
- " jmp " __stringify(__GI_##func) "\n" \
+ " call " __stringify(__GI_##func) "\n" \
: "=A" (ret) \
: "m" (x) \
); \
--
1.7.0.4
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment