mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-20 11:39:25 +00:00
191 lines
7.2 KiB
Diff
191 lines
7.2 KiB
Diff
|
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 */
|