diff options
| author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2010-08-20 12:20:52 -0700 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-20 23:26:40 +0100 |
| commit | 6c12afd57d2d25f532285cad6ab09a37eb3f548c (patch) | |
| tree | f4b950be468443fa8beae343fb7f530387c7d397 | |
| parent | 179e056519c5ad761b2d942d7196664874c155e4 (diff) | |
| download | poky-6c12afd57d2d25f532285cad6ab09a37eb3f548c.tar.gz | |
glibc: bring back needed patches from older recipes
while removing old glibc recipes some needed patches from
older recipes got wiped out. Bringing them back.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
9 files changed, 799 insertions, 0 deletions
diff --git a/meta/packages/glibc/glibc-2.10.1/generic-bits_select.h b/meta/packages/glibc/glibc-2.10.1/generic-bits_select.h new file mode 100644 index 0000000000..47e7dedc30 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/generic-bits_select.h | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | /* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc. | ||
| 2 | This file is part of the GNU C Library. | ||
| 3 | |||
| 4 | The GNU C Library is free software; you can redistribute it and/or | ||
| 5 | modify it under the terms of the GNU Lesser General Public | ||
| 6 | License as published by the Free Software Foundation; either | ||
| 7 | version 2.1 of the License, or (at your option) any later version. | ||
| 8 | |||
| 9 | The GNU C Library is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 12 | Lesser General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU Lesser General Public | ||
| 15 | License along with the GNU C Library; if not, write to the Free | ||
| 16 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 17 | 02111-1307 USA. */ | ||
| 18 | |||
| 19 | #ifndef _SYS_SELECT_H | ||
| 20 | # error "Never use <bits/select.h> directly; include <sys/select.h> instead." | ||
| 21 | #endif | ||
| 22 | |||
| 23 | |||
| 24 | /* We don't use `memset' because this would require a prototype and | ||
| 25 | the array isn't too big. */ | ||
| 26 | #define __FD_ZERO(s) \ | ||
| 27 | do { \ | ||
| 28 | unsigned int __i; \ | ||
| 29 | fd_set *__arr = (s); \ | ||
| 30 | for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ | ||
| 31 | __FDS_BITS (__arr)[__i] = 0; \ | ||
| 32 | } while (0) | ||
| 33 | #define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)) | ||
| 34 | #define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)) | ||
| 35 | #define __FD_ISSET(d, s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0) | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/generic-bits_time.h b/meta/packages/glibc/glibc-2.10.1/generic-bits_time.h new file mode 100644 index 0000000000..b3184d1de9 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/generic-bits_time.h | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | /* System-dependent timing definitions. Generic version. | ||
| 2 | Copyright (C) 1996,1997,1999-2002,2003 Free Software Foundation, Inc. | ||
| 3 | This file is part of the GNU C Library. | ||
| 4 | |||
| 5 | The GNU C Library is free software; you can redistribute it and/or | ||
| 6 | modify it under the terms of the GNU Lesser General Public | ||
| 7 | License as published by the Free Software Foundation; either | ||
| 8 | version 2.1 of the License, or (at your option) any later version. | ||
| 9 | |||
| 10 | The GNU C Library is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public | ||
| 16 | License along with the GNU C Library; if not, write to the Free | ||
| 17 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 18 | 02111-1307 USA. */ | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Never include this file directly; use <time.h> instead. | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef __need_timeval | ||
| 25 | # ifndef _BITS_TIME_H | ||
| 26 | # define _BITS_TIME_H 1 | ||
| 27 | |||
| 28 | /* ISO/IEC 9899:1990 7.12.1: <time.h> | ||
| 29 | The macro `CLOCKS_PER_SEC' is the number per second of the value | ||
| 30 | returned by the `clock' function. */ | ||
| 31 | /* CAE XSH, Issue 4, Version 2: <time.h> | ||
| 32 | The value of CLOCKS_PER_SEC is required to be 1 million on all | ||
| 33 | XSI-conformant systems. */ | ||
| 34 | # define CLOCKS_PER_SEC 1000000l | ||
| 35 | |||
| 36 | # if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K | ||
| 37 | /* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK | ||
| 38 | presents the real value for clock ticks per second for the system. */ | ||
| 39 | # include <bits/types.h> | ||
| 40 | extern long int __sysconf (int); | ||
| 41 | # define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */ | ||
| 42 | # endif | ||
| 43 | |||
| 44 | # ifdef __USE_POSIX199309 | ||
| 45 | /* Identifier for system-wide realtime clock. */ | ||
| 46 | # define CLOCK_REALTIME 0 | ||
| 47 | /* Monotonic system-wide clock. */ | ||
| 48 | # define CLOCK_MONOTONIC 1 | ||
| 49 | /* High-resolution timer from the CPU. */ | ||
| 50 | # define CLOCK_PROCESS_CPUTIME_ID 2 | ||
| 51 | /* Thread-specific CPU-time clock. */ | ||
| 52 | # define CLOCK_THREAD_CPUTIME_ID 3 | ||
| 53 | |||
| 54 | /* Flag to indicate time is absolute. */ | ||
| 55 | # define TIMER_ABSTIME 1 | ||
| 56 | # endif | ||
| 57 | |||
| 58 | # endif /* bits/time.h */ | ||
| 59 | #endif | ||
| 60 | |||
| 61 | #ifdef __need_timeval | ||
| 62 | # undef __need_timeval | ||
| 63 | # ifndef _STRUCT_TIMEVAL | ||
| 64 | # define _STRUCT_TIMEVAL 1 | ||
| 65 | # include <bits/types.h> | ||
| 66 | |||
| 67 | /* A time value that is accurate to the nearest | ||
| 68 | microsecond but also has a range of years. */ | ||
| 69 | struct timeval | ||
| 70 | { | ||
| 71 | __time_t tv_sec; /* Seconds. */ | ||
| 72 | __suseconds_t tv_usec; /* Microseconds. */ | ||
| 73 | }; | ||
| 74 | # endif /* struct timeval */ | ||
| 75 | #endif /* need timeval */ | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/generic-bits_types.h b/meta/packages/glibc/glibc-2.10.1/generic-bits_types.h new file mode 100644 index 0000000000..65c8a9fe90 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/generic-bits_types.h | |||
| @@ -0,0 +1,200 @@ | |||
| 1 | /* bits/types.h -- definitions of __*_t types underlying *_t types. | ||
| 2 | Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | ||
| 3 | This file is part of the GNU C Library. | ||
| 4 | |||
| 5 | The GNU C Library is free software; you can redistribute it and/or | ||
| 6 | modify it under the terms of the GNU Lesser General Public | ||
| 7 | License as published by the Free Software Foundation; either | ||
| 8 | version 2.1 of the License, or (at your option) any later version. | ||
| 9 | |||
| 10 | The GNU C Library is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public | ||
| 16 | License along with the GNU C Library; if not, write to the Free | ||
| 17 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 18 | 02111-1307 USA. */ | ||
| 19 | |||
| 20 | /* | ||
| 21 | * Never include this file directly; use <sys/types.h> instead. | ||
| 22 | */ | ||
| 23 | |||
| 24 | #ifndef _BITS_TYPES_H | ||
| 25 | #define _BITS_TYPES_H 1 | ||
| 26 | |||
| 27 | #include <features.h> | ||
| 28 | #include <bits/wordsize.h> | ||
| 29 | |||
| 30 | #define __need_size_t | ||
| 31 | #include <stddef.h> | ||
| 32 | |||
| 33 | /* Convenience types. */ | ||
| 34 | typedef unsigned char __u_char; | ||
| 35 | typedef unsigned short int __u_short; | ||
| 36 | typedef unsigned int __u_int; | ||
| 37 | typedef unsigned long int __u_long; | ||
| 38 | |||
| 39 | /* Fixed-size types, underlying types depend on word size and compiler. */ | ||
| 40 | typedef signed char __int8_t; | ||
| 41 | typedef unsigned char __uint8_t; | ||
| 42 | typedef signed short int __int16_t; | ||
| 43 | typedef unsigned short int __uint16_t; | ||
| 44 | typedef signed int __int32_t; | ||
| 45 | typedef unsigned int __uint32_t; | ||
| 46 | #if __WORDSIZE == 64 | ||
| 47 | typedef signed long int __int64_t; | ||
| 48 | typedef unsigned long int __uint64_t; | ||
| 49 | #elif defined __GLIBC_HAVE_LONG_LONG | ||
| 50 | __extension__ typedef signed long long int __int64_t; | ||
| 51 | __extension__ typedef unsigned long long int __uint64_t; | ||
| 52 | #endif | ||
| 53 | |||
| 54 | /* quad_t is also 64 bits. */ | ||
| 55 | #if __WORDSIZE == 64 | ||
| 56 | typedef long int __quad_t; | ||
| 57 | typedef unsigned long int __u_quad_t; | ||
| 58 | #elif defined __GLIBC_HAVE_LONG_LONG | ||
| 59 | __extension__ typedef long long int __quad_t; | ||
| 60 | __extension__ typedef unsigned long long int __u_quad_t; | ||
| 61 | #else | ||
| 62 | typedef struct | ||
| 63 | { | ||
| 64 | long __val[2]; | ||
| 65 | } __quad_t; | ||
| 66 | typedef struct | ||
| 67 | { | ||
| 68 | __u_long __val[2]; | ||
| 69 | } __u_quad_t; | ||
| 70 | #endif | ||
| 71 | |||
| 72 | |||
| 73 | /* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE | ||
| 74 | macros for each of the OS types we define below. The definitions | ||
| 75 | of those macros must use the following macros for underlying types. | ||
| 76 | We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned | ||
| 77 | variants of each of the following integer types on this machine. | ||
| 78 | |||
| 79 | 16 -- "natural" 16-bit type (always short) | ||
| 80 | 32 -- "natural" 32-bit type (always int) | ||
| 81 | 64 -- "natural" 64-bit type (long or long long) | ||
| 82 | LONG32 -- 32-bit type, traditionally long | ||
| 83 | QUAD -- 64-bit type, always long long | ||
| 84 | WORD -- natural type of __WORDSIZE bits (int or long) | ||
| 85 | LONGWORD -- type of __WORDSIZE bits, traditionally long | ||
| 86 | |||
| 87 | We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the | ||
| 88 | conventional uses of `long' or `long long' type modifiers match the | ||
| 89 | types we define, even when a less-adorned type would be the same size. | ||
| 90 | This matters for (somewhat) portably writing printf/scanf formats for | ||
| 91 | these types, where using the appropriate l or ll format modifiers can | ||
| 92 | make the typedefs and the formats match up across all GNU platforms. If | ||
| 93 | we used `long' when it's 64 bits where `long long' is expected, then the | ||
| 94 | compiler would warn about the formats not matching the argument types, | ||
| 95 | and the programmer changing them to shut up the compiler would break the | ||
| 96 | program's portability. | ||
| 97 | |||
| 98 | Here we assume what is presently the case in all the GCC configurations | ||
| 99 | we support: long long is always 64 bits, long is always word/address size, | ||
| 100 | and int is always 32 bits. */ | ||
| 101 | |||
| 102 | #define __S16_TYPE short int | ||
| 103 | #define __U16_TYPE unsigned short int | ||
| 104 | #define __S32_TYPE int | ||
| 105 | #define __U32_TYPE unsigned int | ||
| 106 | #define __SLONGWORD_TYPE long int | ||
| 107 | #define __ULONGWORD_TYPE unsigned long int | ||
| 108 | #if __WORDSIZE == 32 | ||
| 109 | # define __SQUAD_TYPE __quad_t | ||
| 110 | # define __UQUAD_TYPE __u_quad_t | ||
| 111 | # define __SWORD_TYPE int | ||
| 112 | # define __UWORD_TYPE unsigned int | ||
| 113 | # define __SLONG32_TYPE long int | ||
| 114 | # define __ULONG32_TYPE unsigned long int | ||
| 115 | # define __S64_TYPE __quad_t | ||
| 116 | # define __U64_TYPE __u_quad_t | ||
| 117 | /* We want __extension__ before typedef's that use nonstandard base types | ||
| 118 | such as `long long' in C89 mode. */ | ||
| 119 | # define __STD_TYPE __extension__ typedef | ||
| 120 | #elif __WORDSIZE == 64 | ||
| 121 | # define __SQUAD_TYPE long int | ||
| 122 | # define __UQUAD_TYPE unsigned long int | ||
| 123 | # define __SWORD_TYPE long int | ||
| 124 | # define __UWORD_TYPE unsigned long int | ||
| 125 | # define __SLONG32_TYPE int | ||
| 126 | # define __ULONG32_TYPE unsigned int | ||
| 127 | # define __S64_TYPE long int | ||
| 128 | # define __U64_TYPE unsigned long int | ||
| 129 | /* No need to mark the typedef with __extension__. */ | ||
| 130 | # define __STD_TYPE typedef | ||
| 131 | #else | ||
| 132 | # error | ||
| 133 | #endif | ||
| 134 | #include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */ | ||
| 135 | |||
| 136 | |||
| 137 | __STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ | ||
| 138 | __STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ | ||
| 139 | __STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ | ||
| 140 | __STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ | ||
| 141 | __STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ | ||
| 142 | __STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ | ||
| 143 | __STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ | ||
| 144 | __STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ | ||
| 145 | __STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ | ||
| 146 | __STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ | ||
| 147 | __STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ | ||
| 148 | __STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ | ||
| 149 | __STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ | ||
| 150 | __STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ | ||
| 151 | __STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ | ||
| 152 | __STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ | ||
| 153 | __STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ | ||
| 154 | __STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ | ||
| 155 | |||
| 156 | __STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ | ||
| 157 | __STD_TYPE __SWBLK_T_TYPE __swblk_t; /* Type of a swap block maybe? */ | ||
| 158 | __STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ | ||
| 159 | |||
| 160 | /* Clock ID used in clock and timer functions. */ | ||
| 161 | __STD_TYPE __CLOCKID_T_TYPE __clockid_t; | ||
| 162 | |||
| 163 | /* Timer ID returned by `timer_create'. */ | ||
| 164 | __STD_TYPE __TIMER_T_TYPE __timer_t; | ||
| 165 | |||
| 166 | /* Type to represent block size. */ | ||
| 167 | __STD_TYPE __BLKSIZE_T_TYPE __blksize_t; | ||
| 168 | |||
| 169 | /* Types from the Large File Support interface. */ | ||
| 170 | |||
| 171 | /* Type to count number of disk blocks. */ | ||
| 172 | __STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; | ||
| 173 | __STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; | ||
| 174 | |||
| 175 | /* Type to count file system blocks. */ | ||
| 176 | __STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; | ||
| 177 | __STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; | ||
| 178 | |||
| 179 | /* Type to count file system nodes. */ | ||
| 180 | __STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; | ||
| 181 | __STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; | ||
| 182 | |||
| 183 | __STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ | ||
| 184 | |||
| 185 | /* These few don't really vary by system, they always correspond | ||
| 186 | to one of the other defined types. */ | ||
| 187 | typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ | ||
| 188 | typedef __quad_t *__qaddr_t; | ||
| 189 | typedef char *__caddr_t; | ||
| 190 | |||
| 191 | /* Duplicates info from stdint.h but this is used in unistd.h. */ | ||
| 192 | __STD_TYPE __SWORD_TYPE __intptr_t; | ||
| 193 | |||
| 194 | /* Duplicate info from sys/socket.h. */ | ||
| 195 | __STD_TYPE __U32_TYPE __socklen_t; | ||
| 196 | |||
| 197 | |||
| 198 | #undef __STD_TYPE | ||
| 199 | |||
| 200 | #endif /* bits/types.h */ | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/generic-bits_typesizes.h b/meta/packages/glibc/glibc-2.10.1/generic-bits_typesizes.h new file mode 100644 index 0000000000..e9226c4174 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/generic-bits_typesizes.h | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | /* bits/typesizes.h -- underlying types for *_t. Generic version. | ||
| 2 | Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
| 3 | This file is part of the GNU C Library. | ||
| 4 | |||
| 5 | The GNU C Library is free software; you can redistribute it and/or | ||
| 6 | modify it under the terms of the GNU Lesser General Public | ||
| 7 | License as published by the Free Software Foundation; either | ||
| 8 | version 2.1 of the License, or (at your option) any later version. | ||
| 9 | |||
| 10 | The GNU C Library is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 13 | Lesser General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU Lesser General Public | ||
| 16 | License along with the GNU C Library; if not, write to the Free | ||
| 17 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 18 | 02111-1307 USA. */ | ||
| 19 | |||
| 20 | #ifndef _BITS_TYPES_H | ||
| 21 | # error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." | ||
| 22 | #endif | ||
| 23 | |||
| 24 | #ifndef _BITS_TYPESIZES_H | ||
| 25 | #define _BITS_TYPESIZES_H 1 | ||
| 26 | |||
| 27 | /* See <bits/types.h> for the meaning of these macros. This file exists so | ||
| 28 | that <bits/types.h> need not vary across different GNU platforms. */ | ||
| 29 | |||
| 30 | #define __DEV_T_TYPE __UQUAD_TYPE | ||
| 31 | #define __UID_T_TYPE __U32_TYPE | ||
| 32 | #define __GID_T_TYPE __U32_TYPE | ||
| 33 | #define __INO_T_TYPE __ULONGWORD_TYPE | ||
| 34 | #define __INO64_T_TYPE __UQUAD_TYPE | ||
| 35 | #define __MODE_T_TYPE __U32_TYPE | ||
| 36 | #define __NLINK_T_TYPE __UWORD_TYPE | ||
| 37 | #define __OFF_T_TYPE __SLONGWORD_TYPE | ||
| 38 | #define __OFF64_T_TYPE __SQUAD_TYPE | ||
| 39 | #define __PID_T_TYPE __S32_TYPE | ||
| 40 | #define __RLIM_T_TYPE __ULONGWORD_TYPE | ||
| 41 | #define __RLIM64_T_TYPE __UQUAD_TYPE | ||
| 42 | #define __BLKCNT_T_TYPE __SLONGWORD_TYPE | ||
| 43 | #define __BLKCNT64_T_TYPE __SQUAD_TYPE | ||
| 44 | #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE | ||
| 45 | #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE | ||
| 46 | #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE | ||
| 47 | #define __FSFILCNT64_T_TYPE __UQUAD_TYPE | ||
| 48 | #define __ID_T_TYPE __U32_TYPE | ||
| 49 | #define __CLOCK_T_TYPE __SLONGWORD_TYPE | ||
| 50 | #define __TIME_T_TYPE __SLONGWORD_TYPE | ||
| 51 | #define __USECONDS_T_TYPE __U32_TYPE | ||
| 52 | #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE | ||
| 53 | #define __DADDR_T_TYPE __S32_TYPE | ||
| 54 | #define __SWBLK_T_TYPE __SLONGWORD_TYPE | ||
| 55 | #define __KEY_T_TYPE __S32_TYPE | ||
| 56 | #define __CLOCKID_T_TYPE __S32_TYPE | ||
| 57 | #define __TIMER_T_TYPE void * | ||
| 58 | #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE | ||
| 59 | #define __FSID_T_TYPE struct { int __val[2]; } | ||
| 60 | #define __SSIZE_T_TYPE __SWORD_TYPE | ||
| 61 | |||
| 62 | /* Number of descriptors that can fit in an `fd_set'. */ | ||
| 63 | #define __FD_SETSIZE 1024 | ||
| 64 | |||
| 65 | |||
| 66 | #endif /* bits/typesizes.h */ | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/glibc-check_pf.patch b/meta/packages/glibc/glibc-2.10.1/glibc-check_pf.patch new file mode 100644 index 0000000000..3cff6bbcfa --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/glibc-check_pf.patch | |||
| @@ -0,0 +1,343 @@ | |||
| 1 | From libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org Tue Oct 31 17:37:21 2006 | ||
| 2 | Return-Path: <libc-ports-return-550-listarch-libc-ports=sources dot redhat dot com at sourceware dot org> | ||
| 3 | Delivered-To: listarch-libc-ports at sources dot redhat dot com | ||
| 4 | Received: (qmail 17273 invoked by alias); 31 Oct 2006 17:37:20 -0000 | ||
| 5 | Received: (qmail 17262 invoked by uid 22791); 31 Oct 2006 17:37:19 -0000 | ||
| 6 | X-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,TW_CP | ||
| 7 | X-Spam-Check-By: sourceware.org | ||
| 8 | Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Tue, 31 Oct 2006 17:37:11 +0000 | ||
| 9 | Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GexXw-0007Dj-30; Tue, 31 Oct 2006 12:37:08 -0500 | ||
| 10 | Date: Tue, 31 Oct 2006 12:37:08 -0500 | ||
| 11 | From: Daniel Jacobowitz <drow at false dot org> | ||
| 12 | To: Mike Frysinger <vapier at gentoo dot org> | ||
| 13 | Cc: libc-ports at sourceware dot org, Philip Balister <philip dot balister at gmail dot com> | ||
| 14 | Subject: Re: Problem with glibc-2.5 on ARM | ||
| 15 | Message-ID: <20061031173708.GJ20468@nevyn.them.org> | ||
| 16 | References: <499146270610241149ibe030e0nd9d6b177a95b346e@mail.gmail.com> <499146270610241254u7cadf63ej2edf05cedbc5266f@mail.gmail.com> <20061024195837.GA20181@nevyn.them.org> <200610291954.27022.vapier@gentoo.org> | ||
| 17 | MIME-Version: 1.0 | ||
| 18 | Content-Type: text/plain; charset=us-ascii | ||
| 19 | Content-Disposition: inline | ||
| 20 | In-Reply-To: <200610291954 dot 27022 dot vapier at gentoo dot org> | ||
| 21 | User-Agent: Mutt/1.5.13 (2006-08-11) | ||
| 22 | X-IsSubscribed: yes | ||
| 23 | Mailing-List: contact libc-ports-help at sourceware dot org; run by ezmlm | ||
| 24 | Precedence: bulk | ||
| 25 | List-Subscribe: <mailto:libc-ports-subscribe at sourceware dot org> | ||
| 26 | List-Post: <mailto:libc-ports at sourceware dot org> | ||
| 27 | List-Help: <mailto:libc-ports-help at sourceware dot org>, <http://sourceware dot org/lists dot html#faqs> | ||
| 28 | Sender: libc-ports-owner at sourceware dot org | ||
| 29 | Delivered-To: mailing list libc-ports at sourceware dot org | ||
| 30 | |||
| 31 | On Sun, Oct 29, 2006 at 07:54:25PM -0500, Mike Frysinger wrote: | ||
| 32 | > On Tuesday 24 October 2006 15:58, Daniel Jacobowitz wrote: | ||
| 33 | > > ARM is going to need a slightly different version of that file, I | ||
| 34 | > > guess. | ||
| 35 | > | ||
| 36 | > would declaring req with attribute packed not help ? | ||
| 37 | > -mike | ||
| 38 | |||
| 39 | Nope. "struct rtgenmsg" would still have size 4. | ||
| 40 | |||
| 41 | Philip, are you still at all interested in this for the old ABI? | ||
| 42 | I don't have time to test this patch right now, but I think it | ||
| 43 | will work. | ||
| 44 | |||
| 45 | -- | ||
| 46 | Daniel Jacobowitz | ||
| 47 | CodeSourcery | ||
| 48 | |||
| 49 | 2006-10-31 Daniel Jacobowitz <dan@codesourcery.com> | ||
| 50 | |||
| 51 | * sysdeps/unix/sysv/linux/arm/check_pf.c: New file. | ||
| 52 | * sysdeps/unix/sysv/linux/arm/eabi/check_pf.c: New file. | ||
| 53 | |||
| 54 | Index: sysdeps/unix/sysv/linux/arm/check_pf.c | ||
| 55 | =================================================================== | ||
| 56 | RCS file: sysdeps/unix/sysv/linux/arm/check_pf.c | ||
| 57 | diff -N sysdeps/unix/sysv/linux/arm/check_pf.c | ||
| 58 | --- /dev/null 1 Jan 1970 00:00:00 -0000 | ||
| 59 | +++ sysdeps/unix/sysv/linux/arm/check_pf.c 31 Oct 2006 17:29:58 -0000 | ||
| 60 | @@ -0,0 +1,274 @@ | ||
| 61 | +/* Determine protocol families for which interfaces exist. ARM Linux version. | ||
| 62 | + Copyright (C) 2003, 2006 Free Software Foundation, Inc. | ||
| 63 | + This file is part of the GNU C Library. | ||
| 64 | + | ||
| 65 | + The GNU C Library is free software; you can redistribute it and/or | ||
| 66 | + modify it under the terms of the GNU Lesser General Public | ||
| 67 | + License as published by the Free Software Foundation; either | ||
| 68 | + version 2.1 of the License, or (at your option) any later version. | ||
| 69 | + | ||
| 70 | + The GNU C Library is distributed in the hope that it will be useful, | ||
| 71 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 72 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 73 | + Lesser General Public License for more details. | ||
| 74 | + | ||
| 75 | + You should have received a copy of the GNU Lesser General Public | ||
| 76 | + License along with the GNU C Library; if not, write to the Free | ||
| 77 | + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | ||
| 78 | + 02111-1307 USA. */ | ||
| 79 | + | ||
| 80 | +#include <assert.h> | ||
| 81 | +#include <errno.h> | ||
| 82 | +#include <ifaddrs.h> | ||
| 83 | +#include <netdb.h> | ||
| 84 | +#include <stddef.h> | ||
| 85 | +#include <string.h> | ||
| 86 | +#include <time.h> | ||
| 87 | +#include <unistd.h> | ||
| 88 | +#include <sys/socket.h> | ||
| 89 | + | ||
| 90 | +#include <asm/types.h> | ||
| 91 | +#include <linux/netlink.h> | ||
| 92 | +#include <linux/rtnetlink.h> | ||
| 93 | + | ||
| 94 | +#include <not-cancel.h> | ||
| 95 | +#include <kernel-features.h> | ||
| 96 | + | ||
| 97 | + | ||
| 98 | +#ifndef IFA_F_TEMPORARY | ||
| 99 | +# define IFA_F_TEMPORARY IFA_F_SECONDARY | ||
| 100 | +#endif | ||
| 101 | +#ifndef IFA_F_HOMEADDRESS | ||
| 102 | +# define IFA_F_HOMEADDRESS 0 | ||
| 103 | +#endif | ||
| 104 | + | ||
| 105 | + | ||
| 106 | +static int | ||
| 107 | +make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, | ||
| 108 | + struct in6addrinfo **in6ai, size_t *in6ailen) | ||
| 109 | +{ | ||
| 110 | + struct req | ||
| 111 | + { | ||
| 112 | + struct nlmsghdr nlh; | ||
| 113 | + struct rtgenmsg g; | ||
| 114 | + } req; | ||
| 115 | + struct sockaddr_nl nladdr; | ||
| 116 | + | ||
| 117 | + /* struct rtgenmsg consists of a single byte but the ARM ABI rounds | ||
| 118 | + it up to a word. Clear the padding explicitly here. */ | ||
| 119 | + assert (sizeof (req.g) == 4); | ||
| 120 | + memset (&req.g, '\0', sizeof (req.g)); | ||
| 121 | + | ||
| 122 | + req.nlh.nlmsg_len = sizeof (req); | ||
| 123 | + req.nlh.nlmsg_type = RTM_GETADDR; | ||
| 124 | + req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST; | ||
| 125 | + req.nlh.nlmsg_pid = 0; | ||
| 126 | + req.nlh.nlmsg_seq = time (NULL); | ||
| 127 | + req.g.rtgen_family = AF_UNSPEC; | ||
| 128 | + | ||
| 129 | + memset (&nladdr, '\0', sizeof (nladdr)); | ||
| 130 | + nladdr.nl_family = AF_NETLINK; | ||
| 131 | + | ||
| 132 | + if (TEMP_FAILURE_RETRY (__sendto (fd, (void *) &req, sizeof (req), 0, | ||
| 133 | + (struct sockaddr *) &nladdr, | ||
| 134 | + sizeof (nladdr))) < 0) | ||
| 135 | + return -1; | ||
| 136 | + | ||
| 137 | + *seen_ipv4 = false; | ||
| 138 | + *seen_ipv6 = false; | ||
| 139 | + | ||
| 140 | + bool done = false; | ||
| 141 | + char buf[4096]; | ||
| 142 | + struct iovec iov = { buf, sizeof (buf) }; | ||
| 143 | + struct in6ailist | ||
| 144 | + { | ||
| 145 | + struct in6addrinfo info; | ||
| 146 | + struct in6ailist *next; | ||
| 147 | + } *in6ailist = NULL; | ||
| 148 | + size_t in6ailistlen = 0; | ||
| 149 | + | ||
| 150 | + do | ||
| 151 | + { | ||
| 152 | + struct msghdr msg = | ||
| 153 | + { | ||
| 154 | + (void *) &nladdr, sizeof (nladdr), | ||
| 155 | + &iov, 1, | ||
| 156 | + NULL, 0, | ||
| 157 | + 0 | ||
| 158 | + }; | ||
| 159 | + | ||
| 160 | + ssize_t read_len = TEMP_FAILURE_RETRY (__recvmsg (fd, &msg, 0)); | ||
| 161 | + if (read_len < 0) | ||
| 162 | + return -1; | ||
| 163 | + | ||
| 164 | + if (msg.msg_flags & MSG_TRUNC) | ||
| 165 | + return -1; | ||
| 166 | + | ||
| 167 | + struct nlmsghdr *nlmh; | ||
| 168 | + for (nlmh = (struct nlmsghdr *) buf; | ||
| 169 | + NLMSG_OK (nlmh, (size_t) read_len); | ||
| 170 | + nlmh = (struct nlmsghdr *) NLMSG_NEXT (nlmh, read_len)) | ||
| 171 | + { | ||
| 172 | + if (nladdr.nl_pid != 0 || (pid_t) nlmh->nlmsg_pid != pid | ||
| 173 | + || nlmh->nlmsg_seq != req.nlh.nlmsg_seq) | ||
| 174 | + continue; | ||
| 175 | + | ||
| 176 | + if (nlmh->nlmsg_type == RTM_NEWADDR) | ||
| 177 | + { | ||
| 178 | + struct ifaddrmsg *ifam = (struct ifaddrmsg *) NLMSG_DATA (nlmh); | ||
| 179 | + | ||
| 180 | + switch (ifam->ifa_family) | ||
| 181 | + { | ||
| 182 | + case AF_INET: | ||
| 183 | + *seen_ipv4 = true; | ||
| 184 | + break; | ||
| 185 | + case AF_INET6: | ||
| 186 | + *seen_ipv6 = true; | ||
| 187 | + | ||
| 188 | + if (ifam->ifa_flags & (IFA_F_DEPRECATED | ||
| 189 | + | IFA_F_TEMPORARY | ||
| 190 | + | IFA_F_HOMEADDRESS)) | ||
| 191 | + { | ||
| 192 | + struct rtattr *rta = IFA_RTA (ifam); | ||
| 193 | + size_t len = (nlmh->nlmsg_len | ||
| 194 | + - NLMSG_LENGTH (sizeof (*ifam))); | ||
| 195 | + void *local = NULL; | ||
| 196 | + void *address = NULL; | ||
| 197 | + while (RTA_OK (rta, len)) | ||
| 198 | + { | ||
| 199 | + switch (rta->rta_type) | ||
| 200 | + { | ||
| 201 | + case IFA_LOCAL: | ||
| 202 | + local = RTA_DATA (rta); | ||
| 203 | + break; | ||
| 204 | + | ||
| 205 | + case IFA_ADDRESS: | ||
| 206 | + address = RTA_DATA (rta); | ||
| 207 | + break; | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + rta = RTA_NEXT (rta, len); | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + struct in6ailist *newp = alloca (sizeof (*newp)); | ||
| 214 | + newp->info.flags = (((ifam->ifa_flags & IFA_F_DEPRECATED) | ||
| 215 | + ? in6ai_deprecated : 0) | ||
| 216 | + | ((ifam->ifa_flags | ||
| 217 | + & IFA_F_TEMPORARY) | ||
| 218 | + ? in6ai_temporary : 0) | ||
| 219 | + | ((ifam->ifa_flags | ||
| 220 | + & IFA_F_HOMEADDRESS) | ||
| 221 | + ? in6ai_homeaddress : 0)); | ||
| 222 | + memcpy (newp->info.addr, address ?: local, | ||
| 223 | + sizeof (newp->info.addr)); | ||
| 224 | + newp->next = in6ailist; | ||
| 225 | + in6ailist = newp; | ||
| 226 | + ++in6ailistlen; | ||
| 227 | + } | ||
| 228 | + break; | ||
| 229 | + default: | ||
| 230 | + /* Ignore. */ | ||
| 231 | + break; | ||
| 232 | + } | ||
| 233 | + } | ||
| 234 | + else if (nlmh->nlmsg_type == NLMSG_DONE) | ||
| 235 | + /* We found the end, leave the loop. */ | ||
| 236 | + done = true; | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + while (! done); | ||
| 240 | + | ||
| 241 | + close_not_cancel_no_status (fd); | ||
| 242 | + | ||
| 243 | + if (in6ailist != NULL) | ||
| 244 | + { | ||
| 245 | + *in6ai = malloc (in6ailistlen * sizeof (**in6ai)); | ||
| 246 | + if (*in6ai == NULL) | ||
| 247 | + return -1; | ||
| 248 | + | ||
| 249 | + *in6ailen = in6ailistlen; | ||
| 250 | + | ||
| 251 | + do | ||
| 252 | + { | ||
| 253 | + (*in6ai)[--in6ailistlen] = in6ailist->info; | ||
| 254 | + in6ailist = in6ailist->next; | ||
| 255 | + } | ||
| 256 | + while (in6ailist != NULL); | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + return 0; | ||
| 260 | +} | ||
| 261 | + | ||
| 262 | + | ||
| 263 | +/* We don't know if we have NETLINK support compiled in in our | ||
| 264 | + Kernel. */ | ||
| 265 | +#if __ASSUME_NETLINK_SUPPORT == 0 | ||
| 266 | +/* Define in ifaddrs.h. */ | ||
| 267 | +extern int __no_netlink_support attribute_hidden; | ||
| 268 | +#else | ||
| 269 | +# define __no_netlink_support 0 | ||
| 270 | +#endif | ||
| 271 | + | ||
| 272 | + | ||
| 273 | +void | ||
| 274 | +attribute_hidden | ||
| 275 | +__check_pf (bool *seen_ipv4, bool *seen_ipv6, | ||
| 276 | + struct in6addrinfo **in6ai, size_t *in6ailen) | ||
| 277 | +{ | ||
| 278 | + *in6ai = NULL; | ||
| 279 | + *in6ailen = 0; | ||
| 280 | + | ||
| 281 | + if (! __no_netlink_support) | ||
| 282 | + { | ||
| 283 | + int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); | ||
| 284 | + | ||
| 285 | + struct sockaddr_nl nladdr; | ||
| 286 | + memset (&nladdr, '\0', sizeof (nladdr)); | ||
| 287 | + nladdr.nl_family = AF_NETLINK; | ||
| 288 | + | ||
| 289 | + socklen_t addr_len = sizeof (nladdr); | ||
| 290 | + | ||
| 291 | + if (fd >= 0 | ||
| 292 | + && __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0 | ||
| 293 | + && __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) == 0 | ||
| 294 | + && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6, | ||
| 295 | + in6ai, in6ailen) == 0) | ||
| 296 | + /* It worked. */ | ||
| 297 | + return; | ||
| 298 | + | ||
| 299 | + if (fd >= 0) | ||
| 300 | + __close (fd); | ||
| 301 | + | ||
| 302 | +#if __ASSUME_NETLINK_SUPPORT == 0 | ||
| 303 | + /* Remember that there is no netlink support. */ | ||
| 304 | + __no_netlink_support = 1; | ||
| 305 | +#else | ||
| 306 | + /* We cannot determine what interfaces are available. Be | ||
| 307 | + pessimistic. */ | ||
| 308 | + *seen_ipv4 = true; | ||
| 309 | + *seen_ipv6 = true; | ||
| 310 | +#endif | ||
| 311 | + } | ||
| 312 | + | ||
| 313 | +#if __ASSUME_NETLINK_SUPPORT == 0 | ||
| 314 | + /* No netlink. Get the interface list via getifaddrs. */ | ||
| 315 | + struct ifaddrs *ifa = NULL; | ||
| 316 | + if (getifaddrs (&ifa) != 0) | ||
| 317 | + { | ||
| 318 | + /* We cannot determine what interfaces are available. Be | ||
| 319 | + pessimistic. */ | ||
| 320 | + *seen_ipv4 = true; | ||
| 321 | + *seen_ipv6 = true; | ||
| 322 | + return; | ||
| 323 | + } | ||
| 324 | + | ||
| 325 | + struct ifaddrs *runp; | ||
| 326 | + for (runp = ifa; runp != NULL; runp = runp->ifa_next) | ||
| 327 | + if (runp->ifa_addr->sa_family == PF_INET) | ||
| 328 | + *seen_ipv4 = true; | ||
| 329 | + else if (runp->ifa_addr->sa_family == PF_INET6) | ||
| 330 | + *seen_ipv6 = true; | ||
| 331 | + | ||
| 332 | + (void) freeifaddrs (ifa); | ||
| 333 | +#endif | ||
| 334 | +} | ||
| 335 | Index: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c | ||
| 336 | =================================================================== | ||
| 337 | RCS file: sysdeps/unix/sysv/linux/arm/eabi/check_pf.c | ||
| 338 | diff -N sysdeps/unix/sysv/linux/arm/eabi/check_pf.c | ||
| 339 | --- /dev/null 1 Jan 1970 00:00:00 -0000 | ||
| 340 | +++ sysdeps/unix/sysv/linux/arm/eabi/check_pf.c 31 Oct 2006 17:29:58 -0000 | ||
| 341 | @@ -0,0 +1 @@ | ||
| 342 | +#include <sysdeps/unix/sysv/linux/check_pf.c> | ||
| 343 | |||
diff --git a/meta/packages/glibc/glibc-2.10.1/ldd-unbash.patch b/meta/packages/glibc/glibc-2.10.1/ldd-unbash.patch new file mode 100644 index 0000000000..2fb8854b49 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/ldd-unbash.patch | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | --- glibc-2.5/elf/ldd.bash.in.org 2006-04-30 16:06:20.000000000 +0000 | ||
| 2 | +++ glibc-2.5/elf/ldd.bash.in 2007-03-30 19:18:57.000000000 +0000 | ||
| 3 | @@ -110,7 +110,7 @@ | ||
| 4 | # environments where the executed program might not have permissions | ||
| 5 | # to write to the console/tty. But only bash 3.x supports the pipefail | ||
| 6 | # option, and we don't bother to handle the case for older bash versions. | ||
| 7 | -if set -o pipefail 2> /dev/null; then | ||
| 8 | +if false; then | ||
| 9 | try_trace() { | ||
| 10 | eval $add_env '"$@"' | cat | ||
| 11 | } | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/ldsocache-varrun.patch b/meta/packages/glibc/glibc-2.10.1/ldsocache-varrun.patch new file mode 100644 index 0000000000..9994d4f879 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/ldsocache-varrun.patch | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | This patch moves ld.so.cache from /etc to /var/run. This is for devices | ||
| 2 | where /etc is JFFS2 or CRAMFS but /var is a ramdisk. | ||
| 3 | |||
| 4 | # | ||
| 5 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
| 6 | # | ||
| 7 | |||
| 8 | --- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun | ||
| 9 | +++ libc/sysdeps/generic/dl-cache.h | ||
| 10 | @@ -29,7 +29,7 @@ | ||
| 11 | #endif | ||
| 12 | |||
| 13 | #ifndef LD_SO_CACHE | ||
| 14 | -# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache" | ||
| 15 | +# define LD_SO_CACHE "/var/run/ld.so.cache" | ||
| 16 | #endif | ||
| 17 | |||
| 18 | #ifndef add_system_dir | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/nptl-crosscompile.patch b/meta/packages/glibc/glibc-2.10.1/nptl-crosscompile.patch new file mode 100644 index 0000000000..18a46ad4f1 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/nptl-crosscompile.patch | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | --- glibc-2.4/nptl/sysdeps/pthread/configure.in.ark 2006-03-12 00:41:40.000000000 +0100 | ||
| 2 | +++ glibc-2.4/nptl/sysdeps/pthread/configure.in 2006-03-12 00:44:08.000000000 +0100 | ||
| 3 | @@ -45,5 +45,6 @@ | ||
| 4 | AC_MSG_ERROR([the compiler must support C cleanup handling]) | ||
| 5 | fi | ||
| 6 | else | ||
| 7 | - AC_MSG_ERROR(forced unwind support is required) | ||
| 8 | + AC_MSG_WARN([forced unwind support is required, can't be verified while crosscompiling]) | ||
| 9 | + AC_DEFINE(HAVE_FORCED_UNWIND) | ||
| 10 | fi | ||
| 11 | --- glibc-2.4/nptl/sysdeps/pthread/configure.ark 2006-03-12 00:42:47.000000000 +0100 | ||
| 12 | +++ glibc-2.4/nptl/sysdeps/pthread/configure 2006-03-12 00:44:08.000000000 +0100 | ||
| 13 | @@ -153,7 +153,10 @@ | ||
| 14 | { (exit 1); exit 1; }; } | ||
| 15 | fi | ||
| 16 | else | ||
| 17 | - { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5 | ||
| 18 | -echo "$as_me: error: forced unwind support is required" >&2;} | ||
| 19 | - { (exit 1); exit 1; }; } | ||
| 20 | + { echo "$as_me:$LINENO: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&5 | ||
| 21 | +echo "$as_me: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&2;} | ||
| 22 | + cat >>confdefs.h <<\_ACEOF | ||
| 23 | +#define HAVE_FORCED_UNWIND 1 | ||
| 24 | +_ACEOF | ||
| 25 | + | ||
| 26 | fi | ||
diff --git a/meta/packages/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff b/meta/packages/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff new file mode 100644 index 0000000000..1046efb2a1 --- /dev/null +++ b/meta/packages/glibc/glibc-2.10.1/powerpc-sqrt-hack.diff | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c | ||
| 2 | --- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-04-14 07:44:30.000000000 +0200 | ||
| 3 | +++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrt.c 2006-12-08 12:53:32.202227000 +0100 | ||
| 4 | @@ -25,6 +25,9 @@ | ||
| 5 | #include <sysdep.h> | ||
| 6 | #include <ldsodefs.h> | ||
| 7 | |||
| 8 | +#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) | ||
| 9 | + | ||
| 10 | + | ||
| 11 | static const double almost_half = 0.5000000000000001; /* 0.5 + 2^-53 */ | ||
| 12 | static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; | ||
| 13 | static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; | ||
| 14 | diff -Nurd ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c | ||
| 15 | --- ../glibc-initial-2.5-r4/glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-04-14 07:44:30.000000000 +0200 | ||
| 16 | +++ glibc-2.5/sysdeps/powerpc/fpu/e_sqrtf.c 2006-12-08 12:53:36.992227000 +0100 | ||
| 17 | @@ -25,6 +25,8 @@ | ||
| 18 | #include <sysdep.h> | ||
| 19 | #include <ldsodefs.h> | ||
| 20 | |||
| 21 | +#define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) | ||
| 22 | + | ||
| 23 | static const float almost_half = 0.50000006; /* 0.5 + 2^-24 */ | ||
| 24 | static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; | ||
| 25 | static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; | ||
