summaryrefslogtreecommitdiff
path: root/patches/uClibc/20080801/100-ifaddrs.patch
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-07 14:05:47 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-07 14:05:47 (GMT)
commit140d179eb3e94c50389f7eac90b76372d6dc0d7a (patch)
tree810e0e2383997234264637f4d5d014b7bbb00936 /patches/uClibc/20080801/100-ifaddrs.patch
parentc1a2e1bb87eaad300ae48bd3e96c04870e38d671 (diff)
Update all samples to the latest set of options.
Update some samples to use newer features. Add patches for the uClibc-20080801 snapshot to be able to build with gcc-4.3. Add a patch against glibc-2.7 to allow building PPC with latest kernel headers. Add a patch to gcc to use an alternate unwinding when built against uClibc (after a private explanation/request by Daniel Egger <daniel@eggers-club.de>) /trunk/patches/glibc/2.7/230-powerpc-private_futex.patch | 15 15 0 0 + /trunk/patches/uClibc/20080801/300-fix-asm.patch | 175 175 0 0 +++++++++ /trunk/patches/uClibc/20080801/100-ifaddrs.patch | 190 190 0 0 +++++++++ /trunk/patches/uClibc/20080801/200-mips-typeof.patch | 112 112 0 0 ++++++ /trunk/patches/gcc/4.3.1/330-unwind-for-uClibc.patch | 25 25 0 0 + /trunk/samples/x86_64-unknown-linux-gnu/crosstool.config | 17 10 7 0 + /trunk/samples/armeb-unknown-linux-uclibc/crosstool.config | 7 5 2 0 + /trunk/samples/arm-unknown-linux-gnueabi/crosstool.config | 7 5 2 0 + /trunk/samples/ia64-unknown-linux-gnu/crosstool.config | 14 11 3 0 + /trunk/samples/x86_64-unknown-linux-uclibc/uClibc-20080801.config | 232 232 0 0 ++++++++++++ /trunk/samples/x86_64-unknown-linux-uclibc/crosstool.config | 34 21 13 0 +- /trunk/samples/i686-nptl-linux-gnu/crosstool.config | 10 7 3 0 + /trunk/samples/powerpc-unknown-linux-gnu/crosstool.config | 12 9 3 0 + /trunk/samples/mips-unknown-linux-uclibc/uClibc-20080801.config | 249 249 0 0 ++++++++++++ /trunk/samples/mips-unknown-linux-uclibc/crosstool.config | 38 23 15 0 +- /trunk/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 14 10 4 0 + /trunk/samples/armeb-unknown-linux-gnu/crosstool.config | 7 5 2 0 + /trunk/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 12 9 3 0 + /trunk/samples/arm-unknown-linux-uclibc/crosstool.config | 7 5 2 0 + /trunk/samples/i586-geode-linux-uclibc/uClibc-20080801.config | 261 261 0 0 +++++++++++++ /trunk/samples/i586-geode-linux-uclibc/crosstool.config | 32 20 12 0 ++ /trunk/samples/powerpc-unknown-linux-uclibc/crosstool.config | 12 9 3 0 + /trunk/samples/mipsel-unknown-linux-gnu/crosstool.config | 7 5 2 0 + /trunk/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 7 5 2 0 + /trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 16 10 6 0 + 25 files changed, 1428 insertions(+), 84 deletions(-)
Diffstat (limited to 'patches/uClibc/20080801/100-ifaddrs.patch')
-rw-r--r--patches/uClibc/20080801/100-ifaddrs.patch190
1 files changed, 190 insertions, 0 deletions
diff --git a/patches/uClibc/20080801/100-ifaddrs.patch b/patches/uClibc/20080801/100-ifaddrs.patch
new file mode 100644
index 0000000..97b1984
--- /dev/null
+++ b/patches/uClibc/20080801/100-ifaddrs.patch
@@ -0,0 +1,190 @@
+Copyright 2008 Yann E. MORIN.
+
+This patch is needed to make gcc-4.3.1 able to build the Java frontend.
+
+Index: uClibc/libc/inet/ifaddrs.c
+===================================================================
+--- uClibc/libc/inet/ifaddrs.c (revision 23002)
++++ uClibc/libc/inet/ifaddrs.c (working copy)
+@@ -22,7 +22,7 @@
+ #include <alloca.h>
+ #include <assert.h>
+ #include <errno.h>
+-#include "ifaddrs.h"
++#include <ifaddrs.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <netpacket/packet.h>
+Index: uClibc/libc/inet/ifaddrs.h
+===================================================================
+--- uClibc/libc/inet/ifaddrs.h (revision 23002)
++++ uClibc/libc/inet/ifaddrs.h (working copy)
+@@ -1,76 +0,0 @@
+-/* ifaddrs.h -- declarations for getting network interface addresses
+- Copyright (C) 2002 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 Lesser General Public
+- License as published by the Free Software Foundation; either
+- version 2.1 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
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#ifndef _IFADDRS_H
+-#define _IFADDRS_H 1
+-
+-#include <features.h>
+-#include <sys/socket.h>
+-#include <stdbool.h>
+-#include <stdint.h>
+-
+-__BEGIN_DECLS
+-
+-/* The `getifaddrs' function generates a linked list of these structures.
+- Each element of the list describes one network interface. */
+-struct ifaddrs
+-{
+- struct ifaddrs *ifa_next; /* Pointer to the next structure. */
+-
+- char *ifa_name; /* Name of this network interface. */
+- unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
+-
+- struct sockaddr *ifa_addr; /* Network address of this interface. */
+- struct sockaddr *ifa_netmask; /* Netmask of this interface. */
+- union
+- {
+- /* At most one of the following two is valid. If the IFF_BROADCAST
+- bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the
+- IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
+- It is never the case that both these bits are set at once. */
+- struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
+- struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
+- } ifa_ifu;
+- /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
+- So if they are defined already, the existing definitions will be fine. */
+-# ifndef ifa_broadaddr
+-# define ifa_broadaddr ifa_ifu.ifu_broadaddr
+-# endif
+-# ifndef ifa_dstaddr
+-# define ifa_dstaddr ifa_ifu.ifu_dstaddr
+-# endif
+-
+- void *ifa_data; /* Address-specific data (may be unused). */
+-};
+-
+-
+-/* Create a linked list of `struct ifaddrs' structures, one for each
+- network interface on the host machine. If successful, store the
+- list in *IFAP and return 0. On errors, return -1 and set `errno'.
+-
+- The storage returned in *IFAP is allocated dynamically and can
+- only be properly freed by passing it to `freeifaddrs'. */
+-extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
+-
+-/* Reclaim the storage allocated by a previous `getifaddrs' call. */
+-extern void freeifaddrs (struct ifaddrs *__ifa) __THROW;
+-
+-__END_DECLS
+-
+-#endif /* ifaddrs.h */
+Index: uClibc/libc/inet/getaddrinfo.c
+===================================================================
+--- uClibc/libc/inet/getaddrinfo.c (revision 23002)
++++ uClibc/libc/inet/getaddrinfo.c (working copy)
+@@ -68,7 +68,7 @@
+ #include <sys/un.h>
+ #include <sys/utsname.h>
+ #include <net/if.h>
+-#include "ifaddrs.h"
++#include <ifaddrs.h>
+
+ /* Experimentally off - libc_hidden_proto(memcpy) */
+ /* Experimentally off - libc_hidden_proto(memset) */
+--- /dev/null 2008-08-04 09:44:45.624322752 +0200
++++ uClibc/include/ifaddrs.h 2008-08-05 09:31:20.000000000 +0200
+@@ -0,0 +1,76 @@
++/* ifaddrs.h -- declarations for getting network interface addresses
++ Copyright (C) 2002 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 Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 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
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _IFADDRS_H
++#define _IFADDRS_H 1
++
++#include <features.h>
++#include <sys/socket.h>
++#include <stdbool.h>
++#include <stdint.h>
++
++__BEGIN_DECLS
++
++/* The `getifaddrs' function generates a linked list of these structures.
++ Each element of the list describes one network interface. */
++struct ifaddrs
++{
++ struct ifaddrs *ifa_next; /* Pointer to the next structure. */
++
++ char *ifa_name; /* Name of this network interface. */
++ unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
++
++ struct sockaddr *ifa_addr; /* Network address of this interface. */
++ struct sockaddr *ifa_netmask; /* Netmask of this interface. */
++ union
++ {
++ /* At most one of the following two is valid. If the IFF_BROADCAST
++ bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the
++ IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
++ It is never the case that both these bits are set at once. */
++ struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
++ struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
++ } ifa_ifu;
++ /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
++ So if they are defined already, the existing definitions will be fine. */
++# ifndef ifa_broadaddr
++# define ifa_broadaddr ifa_ifu.ifu_broadaddr
++# endif
++# ifndef ifa_dstaddr
++# define ifa_dstaddr ifa_ifu.ifu_dstaddr
++# endif
++
++ void *ifa_data; /* Address-specific data (may be unused). */
++};
++
++
++/* Create a linked list of `struct ifaddrs' structures, one for each
++ network interface on the host machine. If successful, store the
++ list in *IFAP and return 0. On errors, return -1 and set `errno'.
++
++ The storage returned in *IFAP is allocated dynamically and can
++ only be properly freed by passing it to `freeifaddrs'. */
++extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
++
++/* Reclaim the storage allocated by a previous `getifaddrs' call. */
++extern void freeifaddrs (struct ifaddrs *__ifa) __THROW;
++
++__END_DECLS
++
++#endif /* ifaddrs.h */