aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0003-b9b2db2f-to-efe07b0f.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-04-09 13:25:31 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-04-09 13:27:19 +0300
commita488eea97d8d9d53f9a361465b341221246377f5 (patch)
tree6fb83b9029119d329ea1ecdf4f1cbfbbb56280f0 /main/musl/0003-b9b2db2f-to-efe07b0f.patch
parent195f616f91ed4bd9733ef60e9945fdb292904162 (diff)
downloadaports-a488eea97d8d9d53f9a361465b341221246377f5.tar.bz2
aports-a488eea97d8d9d53f9a361465b341221246377f5.tar.xz
main/musl: reimplement getifaddrs() and if_nameindex() with netlink
this fixes issues with dhcpcd. cherry-pick also one more printf formatting fix from musl git.
Diffstat (limited to 'main/musl/0003-b9b2db2f-to-efe07b0f.patch')
-rw-r--r--main/musl/0003-b9b2db2f-to-efe07b0f.patch156
1 files changed, 0 insertions, 156 deletions
diff --git a/main/musl/0003-b9b2db2f-to-efe07b0f.patch b/main/musl/0003-b9b2db2f-to-efe07b0f.patch
deleted file mode 100644
index 5c4291378b..0000000000
--- a/main/musl/0003-b9b2db2f-to-efe07b0f.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-diff --git a/arch/arm/atomic.h b/arch/arm/atomic.h
-index 734d287..50ad947 100644
---- a/arch/arm/atomic.h
-+++ b/arch/arm/atomic.h
-@@ -22,7 +22,28 @@ static inline int a_ctz_64(uint64_t x)
- return a_ctz_l(y);
- }
-
-+#if __ARM_ARCH_6__ || __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__ \
-+ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ \
-+ || __ARM_ARCH >= 7
-+static inline int __k_cas(int t, int s, volatile int *p)
-+{
-+ int ret;
-+ __asm__(
-+ " mcr p15,0,r0,c7,c10,5\n"
-+ "1: ldrex %0,%3\n"
-+ " subs %0,%0,%1\n"
-+ " strexeq %0,%2,%3\n"
-+ " teqeq %0,#1\n"
-+ " beq 1b\n"
-+ " mcr p15,0,r0,c7,c10,5\n"
-+ : "=&r"(ret)
-+ : "r"(t), "r"(s), "Q"(*p)
-+ : "memory", "cc" );
-+ return ret;
-+}
-+#else
- #define __k_cas ((int (*)(int, int, volatile int *))0xffff0fc0)
-+#endif
-
- static inline int a_cas(volatile int *p, int t, int s)
- {
-diff --git a/arch/arm/pthread_arch.h b/arch/arm/pthread_arch.h
-index 43a1c01..ec77a83 100644
---- a/arch/arm/pthread_arch.h
-+++ b/arch/arm/pthread_arch.h
-@@ -1,8 +1,22 @@
--typedef char *(*__ptr_func_t)(void) __attribute__((const));
-+#if __ARM_ARCH_6K__ || __ARM_ARCH_6ZK__ \
-+ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ \
-+ || __ARM_ARCH >= 7
-+
-+static inline __attribute__((const)) pthread_t __pthread_self()
-+{
-+ char *p;
-+ __asm__( "mrc p15,0,%0,c13,c0,3" : "=r"(p) );
-+ return (void *)(p+8-sizeof(struct pthread));
-+}
-+
-+#else
-
-+typedef char *(*__ptr_func_t)(void) __attribute__((const));
- #define __pthread_self() \
- ((pthread_t)(((__ptr_func_t)0xffff0fe0)()+8-sizeof(struct pthread)))
-
-+#endif
-+
- #define TLS_ABOVE_TP
- #define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8)
-
-diff --git a/include/sys/auxv.h b/include/sys/auxv.h
-new file mode 100644
-index 0000000..6dcf9ad
---- /dev/null
-+++ b/include/sys/auxv.h
-@@ -0,0 +1,16 @@
-+#ifndef _SYS_AUXV_H
-+#define _SYS_AUXV_H
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+#include <elf.h>
-+
-+unsigned long getauxval(unsigned long);
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
-diff --git a/src/env/__init_tls.c b/src/env/__init_tls.c
-index 8ac0036..89d081e 100644
---- a/src/env/__init_tls.c
-+++ b/src/env/__init_tls.c
-@@ -64,16 +64,6 @@ void *__tls_get_addr(size_t *v)
- return (char *)__pthread_self()->dtv[1]+v[1];
- }
-
--static void *simple(void *p)
--{
-- *(void **)p = p;
-- return __set_thread_area(TP_ADJ(p)) ? 0 : p;
--}
--
--weak_alias(simple, __install_initial_tls);
--
--void *__mmap(void *, size_t, int, int, int, off_t);
--
- #if ULONG_MAX == 0xffffffff
- typedef Elf32_Phdr Phdr;
- #else
-diff --git a/src/env/__libc_start_main.c b/src/env/__libc_start_main.c
-index 73d4932..ac37492 100644
---- a/src/env/__libc_start_main.c
-+++ b/src/env/__libc_start_main.c
-@@ -3,7 +3,6 @@
-
- void __init_tls(size_t *);
- void __init_security(size_t *);
--void __init_ldso_ctors(void);
-
- #ifndef SHARED
- static void dummy() {}
-diff --git a/src/misc/getauxval.c b/src/misc/getauxval.c
-new file mode 100644
-index 0000000..5ac8b3d
---- /dev/null
-+++ b/src/misc/getauxval.c
-@@ -0,0 +1,12 @@
-+#include <sys/auxv.h>
-+#include <errno.h>
-+#include "libc.h"
-+
-+unsigned long getauxval(unsigned long item)
-+{
-+ size_t *auxv = libc.auxv;
-+ for (; *auxv; auxv+=2)
-+ if (*auxv==item) return auxv[1];
-+ errno = ENOENT;
-+ return 0;
-+}
-diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c
-index 31c3d5d..0be7549 100644
---- a/src/stdio/vfprintf.c
-+++ b/src/stdio/vfprintf.c
-@@ -356,15 +356,15 @@ static int fmt_fp(FILE *f, long double y, int w, int p, int fl, int t)
- *d = *d + i;
- while (*d > 999999999) {
- *d--=0;
-+ if (d<a) *--a=0;
- (*d)++;
- }
-- if (d<a) a=d;
- for (i=10, e=9*(r-a); *a>=i; i*=10, e++);
- }
- }
- if (z>d+1) z=d+1;
-- for (; !z[-1] && z>a; z--);
- }
-+ for (; z>a && !z[-1]; z--);
-
- if ((t|32)=='g') {
- if (!p) p++;