patches/uClibc/0.9.30/150-getaddrinfo-segfault-ipv6-and-ipv4.patch
author Michael Hope <michael.hope@linaro.org>
Wed Oct 19 15:27:32 2011 +1300 (2011-10-19)
changeset 2739 f320e22f2cba
permissions -rw-r--r--
arch: add softfp support

Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1217
     1
From: Tomoyoshi ASANO <asa@lineo.co.jp>
yann@1217
     2
Message ID: <20081208073522.0AEF.22C34B8C@lineo.co.jp>
yann@1217
     3
yann@1217
     4
Hello,
yann@1217
     5
yann@1217
     6
I have SEGV at busybox's telnet with uClibc-0.9.30.
yann@1217
     7
It seem the current uClibc-trunk has the same problem.
yann@1217
     8
yann@1217
     9
Thanks,
yann@1217
    10
-- Tom
yann@1217
    11
yann@1217
    12
diff -ru uClibc-0.9.30.orig/libc/inet/getaddrinfo.c uClibc-0.9.30/libc/inet/getaddrinfo.c
yann@1217
    13
--- uClibc-0.9.30.orig/libc/inet/getaddrinfo.c	2008-10-28 17:25:10.000000000 +0100
yann@1217
    14
+++ uClibc-0.9.30/libc/inet/getaddrinfo.c	2009-02-26 14:20:06.000000000 +0100
yann@1217
    15
@@ -186,7 +186,7 @@
yann@1217
    16
 			return seen;
yann@1217
    17
 		}
yann@1217
    18
 
yann@1217
    19
-		for (runp = ifa; runp != NULL; runp = runp->ifa_next)
yann@1217
    20
+		for (runp = ifa; runp != NULL; runp = runp->ifa_next) {
yann@1217
    21
 #if defined __UCLIBC_HAS_IPV4__
yann@1217
    22
 			if (runp->ifa_addr->sa_family == PF_INET)
yann@1217
    23
 				seen |= SEEN_IPV4;
yann@1217
    24
@@ -195,7 +195,7 @@
yann@1217
    25
 			if (runp->ifa_addr->sa_family == PF_INET6)
yann@1217
    26
 				seen |= SEEN_IPV6;
yann@1217
    27
 #endif /* __UCLIBC_HAS_IPV6__ */
yann@1217
    28
-
yann@1217
    29
+                }
yann@1217
    30
 		freeifaddrs(ifa);
yann@1217
    31
 	}
yann@1217
    32
 #else