aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-11-26 15:07:45 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-12-09 10:28:45 +0000
commit7163f588dee7d3146eddefd0a7f98a127da7004e (patch)
tree7d0caad63ac99135512fd7acc83f60c09eb2263e
parent693d6d2ed09df74b1e36ff5ccb4431a3a814d40d (diff)
downloadaports-7163f588dee7d3146eddefd0a7f98a127da7004e.tar.bz2
aports-7163f588dee7d3146eddefd0a7f98a127da7004e.tar.xz
main/libc0.9.32: fix strtoq for x86_64
(cherry picked from commit 178907e14f08218935d646a4722a5c7a20705525)
-rw-r--r--main/libc0.9.32/0001-libc-fix-strtoq.patch44
-rw-r--r--main/libc0.9.32/APKBUILD6
2 files changed, 48 insertions, 2 deletions
diff --git a/main/libc0.9.32/0001-libc-fix-strtoq.patch b/main/libc0.9.32/0001-libc-fix-strtoq.patch
new file mode 100644
index 0000000000..52696630b1
--- /dev/null
+++ b/main/libc0.9.32/0001-libc-fix-strtoq.patch
@@ -0,0 +1,44 @@
+From cb7474c898b4c3aaee898231b1ea968adc2ad95e Mon Sep 17 00:00:00 2001
+From: Natanael Copa <natanael.copa@gmail.com>
+Date: Fri, 26 Nov 2010 14:43:12 +0000
+Subject: [PATCH] libc: fix strtoq
+
+strtoq should always return a quad_t and be an alias of strtol on
+64 bit and strtoll on 32 bit.
+
+Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
+---
+ include/stdlib.h | 2 +-
+ libc/stdlib/stdlib.c | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index ce92ccd..300edf0 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -214,7 +214,7 @@ __END_NAMESPACE_STD
+
+ /* Convert a string to a quadword integer. */
+ __extension__
+-extern long long int strtoq (__const char *__restrict __nptr,
++extern quad_t strtoq (__const char *__restrict __nptr,
+ char **__restrict __endptr, int __base)
+ __THROW __nonnull ((1)) __wur;
+ /* Convert a string to an unsigned quadword integer. */
+diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c
+index ad0c4aa..4d608ee 100644
+--- a/libc/stdlib/stdlib.c
++++ b/libc/stdlib/stdlib.c
+@@ -342,6 +342,9 @@ extern __typeof(__XL_NPP(strtol)) __XL_NPP(strtoll);
+ libc_hidden_proto(__XL_NPP(strtoll))
+ strong_alias(__XL_NPP(strtol),__XL_NPP(strtoll))
+ libc_hidden_def(__XL_NPP(strtoll))
++#if !defined(L_strtol_l)
++strong_alias(strtol,strtoq)
++#endif
+ #endif
+
+ #endif
+--
+1.7.3.2
+
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD
index 8e816d162f..dc53b6b134 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=1011011024
pkgver=${_abiver}_alpha0_git$_gitver
-pkgrel=2
+pkgrel=3
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -26,6 +26,7 @@ source="http://build.alpinelinux.org:8010/distfiles/$_snapfile
ldso-x86_64-support-protected-symbols.patch
1.patch
2.patch
+ 0001-libc-fix-strtoq.patch
uclibcconfig.x86
uclibcconfig.x86_64
uclibcconfig.i486
@@ -99,7 +100,7 @@ package() {
dev() {
default_dev
replaces=uclibc
- mkdir "$subpkgdir"/usr/lib
+ mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}
@@ -124,6 +125,7 @@ md5sums="dad1117e11d0c709263e5b26a74db9ce libc0.9.32-0.9.32_alpha0_git101101102
84a2786fb4c89bee56607dd09b538d7b ldso-x86_64-support-protected-symbols.patch
8f55efc31c41bf70d99006a7d2f7fe1e 1.patch
350a608e3d3b148af882f6e074225465 2.patch
+8064fe87497342a3ab4d8d8df7acc8c6 0001-libc-fix-strtoq.patch
145aaeb1833159397cfac9902e3877ab uclibcconfig.x86
da650c2c6a82e0b153e96774da388935 uclibcconfig.x86_64
145aaeb1833159397cfac9902e3877ab uclibcconfig.i486"