crosstool-ng/patches/uClibc/20080801/100-ifaddrs.patch
Yann E. MORIN" 140d179eb3 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(-)
2008-08-07 14:05:47 +00:00

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 */