source: clfs-embedded/patches/uClibc-0.9.30.1-branch_update-1.patch@ 0ec3a36

Last change on this file since 0ec3a36 was f5994ee, checked in by Jim Gifford <clfs@…>, 16 years ago

uClibc Updates and Linux Update

  • Property mode set to 100644
File size: 36.4 KB
RevLine 
[f5994ee]1Submitted By: Jim Gifford (jim at cross-lfs dot org)
2Date: 03-28-2009
3Initial Package Version: 0.9.30.1
4Origin: Upstream
5Upstream Status: Applied
6Description: This is a branch update for uClibc-0.9.30.1, and should be
7 rechecked periodically.
8
9diff -Naur uClibc-0.9.30.1.orig/include/math.h uClibc-0.9.30.1/include/math.h
10--- uClibc-0.9.30.1.orig/include/math.h 2008-12-22 03:55:13.000000000 -0800
11+++ uClibc-0.9.30.1/include/math.h 2009-03-12 09:51:53.727930000 -0700
12@@ -118,7 +118,7 @@
13 # undef __MATH_PRECNAME
14
15 # if (__STDC__ - 0 || __GNUC__ - 0) \
16- && (defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ || defined __LDBL_COMPAT)
17+ && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
18 # ifdef __LDBL_COMPAT
19
20 # ifdef __USE_ISOC99
21@@ -230,7 +230,7 @@
22 };
23
24 /* Return number of classification appropriate for X. */
25-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
26+# ifdef __NO_LONG_DOUBLE_MATH
27 # define fpclassify(x) \
28 (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
29 # else
30@@ -242,7 +242,7 @@
31 # endif
32
33 /* Return nonzero value if sign of X is negative. */
34-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
35+# ifdef __NO_LONG_DOUBLE_MATH
36 # define signbit(x) \
37 (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
38 # else
39@@ -254,7 +254,7 @@
40 # endif
41
42 /* Return nonzero value if X is not +-Inf or NaN. */
43-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
44+# ifdef __NO_LONG_DOUBLE_MATH
45 # define isfinite(x) \
46 (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
47 # else
48@@ -270,7 +270,7 @@
49
50 /* Return nonzero value if X is a NaN. We could use `fpclassify' but
51 we already have this functions `__isnan' and it is faster. */
52-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
53+# ifdef __NO_LONG_DOUBLE_MATH
54 # define isnan(x) \
55 (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
56 # else
57@@ -282,7 +282,7 @@
58 # endif
59
60 /* Return nonzero value is X is positive or negative infinity. */
61-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
62+# ifdef __NO_LONG_DOUBLE_MATH
63 # define isinf(x) \
64 (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
65 # else
66diff -Naur uClibc-0.9.30.1.orig/include/tgmath.h uClibc-0.9.30.1/include/tgmath.h
67--- uClibc-0.9.30.1.orig/include/tgmath.h 2008-10-03 07:24:28.000000000 -0700
68+++ uClibc-0.9.30.1/include/tgmath.h 2009-03-12 09:51:53.727930000 -0700
69@@ -36,7 +36,7 @@
70
71 #if __GNUC_PREREQ (2, 7)
72
73-# ifndef __UCLIBC_HAS_LONG_DOUBLE_MATH__
74+# ifdef __NO_LONG_DOUBLE_MATH
75 # define __tgml(fct) fct
76 # else
77 # define __tgml(fct) fct ## l
78diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h
79--- uClibc-0.9.30.1.orig/ldso/ldso/arm/dl-sysdep.h 2008-09-25 01:35:20.000000000 -0700
80+++ uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
81@@ -15,7 +15,7 @@
82 GOT_BASE[1] = (unsigned long) MODULE; \
83 }
84
85-static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
86+static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
87 {
88 unsigned long i,t,inc;
89 i=p; t=0;
90@@ -72,7 +72,7 @@
91 first element of the GOT. We used to use the PIC register to do this
92 without a constant pool reference, but GCC 4.2 will use a pseudo-register
93 for the PIC base, so it may not be in r10. */
94-static __inline__ Elf32_Addr __attribute__ ((unused))
95+static __always_inline Elf32_Addr __attribute__ ((unused))
96 elf_machine_dynamic (void)
97 {
98 Elf32_Addr dynamic;
99@@ -104,7 +104,7 @@
100 }
101
102 /* Return the run-time load address of the shared object. */
103-static __inline__ Elf32_Addr __attribute__ ((unused))
104+static __always_inline Elf32_Addr __attribute__ ((unused))
105 elf_machine_load_address (void)
106 {
107 extern void __dl_start __asm__ ("_dl_start");
108@@ -128,7 +128,7 @@
109 return pcrel_addr - got_addr;
110 }
111
112-static __inline__ void
113+static __always_inline void
114 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
115 Elf32_Word relative_count)
116 {
117diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/bfin/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h
118--- uClibc-0.9.30.1.orig/ldso/ldso/bfin/dl-sysdep.h 2008-07-23 04:23:36.000000000 -0700
119+++ uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
120@@ -213,7 +213,7 @@
121 #endif
122
123 #include <elf.h>
124-static __inline__ void
125+static __always_inline void
126 elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr,
127 Elf32_Word relative_count)
128 {
129diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/cris/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h
130--- uClibc-0.9.30.1.orig/ldso/ldso/cris/dl-sysdep.h 2008-07-23 04:19:00.000000000 -0700
131+++ uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
132@@ -39,7 +39,7 @@
133 || ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT) \
134 | (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY))
135
136-static __inline__ Elf32_Addr
137+static __always_inline Elf32_Addr
138 elf_machine_dynamic(void)
139 {
140 /* Don't just set this to an asm variable "r0" since that's not logical
141@@ -61,7 +61,7 @@
142 there's some other symbol we could use, that we don't *have* to force a
143 GOT entry for. */
144
145-static __inline__ Elf32_Addr
146+static __always_inline Elf32_Addr
147 elf_machine_load_address(void)
148 {
149 Elf32_Addr gotaddr_diff;
150@@ -95,7 +95,7 @@
151 return gotaddr_diff;
152 }
153
154-static __inline__ void
155+static __always_inline void
156 elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
157 Elf32_Word relative_count)
158 {
159diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/i386/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h
160--- uClibc-0.9.30.1.orig/ldso/ldso/i386/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
161+++ uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
162@@ -42,8 +42,8 @@
163 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
164 first element of the GOT. This must be inlined in a function which
165 uses global data. */
166-static __inline__ Elf32_Addr elf_machine_dynamic (void) attribute_unused;
167-static __inline__ Elf32_Addr
168+static __always_inline Elf32_Addr elf_machine_dynamic (void) attribute_unused;
169+static __always_inline Elf32_Addr
170 elf_machine_dynamic (void)
171 {
172 register Elf32_Addr *got __asm__ ("%ebx");
173@@ -52,8 +52,8 @@
174
175
176 /* Return the run-time load address of the shared object. */
177-static __inline__ Elf32_Addr elf_machine_load_address (void) attribute_unused;
178-static __inline__ Elf32_Addr
179+static __always_inline Elf32_Addr elf_machine_load_address (void) attribute_unused;
180+static __always_inline Elf32_Addr
181 elf_machine_load_address (void)
182 {
183 /* It doesn't matter what variable this is, the reference never makes
184@@ -66,7 +66,7 @@
185 return addr;
186 }
187
188-static __inline__ void
189+static __always_inline void
190 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
191 Elf32_Word relative_count)
192 {
193diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/m68k/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h
194--- uClibc-0.9.30.1.orig/ldso/ldso/m68k/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
195+++ uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
196@@ -41,7 +41,7 @@
197 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
198 first element of the GOT. This must be inlined in a function which
199 uses global data. */
200-static __inline__ Elf32_Addr
201+static __always_inline Elf32_Addr
202 elf_machine_dynamic (void)
203 {
204 register Elf32_Addr *got __asm__ ("%a5");
205@@ -50,7 +50,7 @@
206
207
208 /* Return the run-time load address of the shared object. */
209-static __inline__ Elf32_Addr
210+static __always_inline Elf32_Addr
211 elf_machine_load_address (void)
212 {
213 Elf32_Addr addr;
214@@ -60,7 +60,7 @@
215 return addr;
216 }
217
218-static __inline__ void
219+static __always_inline void
220 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
221 Elf32_Word relative_count)
222 {
223diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h
224--- uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
225+++ uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
226@@ -163,7 +163,7 @@
227
228 #define OFFSET_GP_GOT 0x7ff0
229
230-static __inline__ ElfW(Addr) *
231+static __always_inline ElfW(Addr) *
232 elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
233 {
234 /* FIXME: the offset of gp from GOT may be system-dependent. */
235@@ -173,7 +173,7 @@
236 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
237 first element of the GOT. This must be inlined in a function which
238 uses global data. We assume its $gp points to the primary GOT. */
239-static __inline__ ElfW(Addr)
240+static __always_inline ElfW(Addr)
241 elf_machine_dynamic (void)
242 {
243 register ElfW(Addr) gp __asm__ ("$28");
244@@ -192,7 +192,7 @@
245 #endif
246
247 /* Return the run-time load address of the shared object. */
248-static __inline__ ElfW(Addr)
249+static __always_inline ElfW(Addr)
250 elf_machine_load_address (void)
251 {
252 ElfW(Addr) addr;
253@@ -208,7 +208,7 @@
254 return addr;
255 }
256
257-static __inline__ void
258+static __always_inline void
259 elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr,
260 ElfW(Word) relative_count)
261 {
262diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/powerpc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h
263--- uClibc-0.9.30.1.orig/ldso/ldso/powerpc/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
264+++ uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
265@@ -90,7 +90,7 @@
266 #define ELF_MACHINE_PLTREL_OVERLAP 1
267
268 /* Return the value of the GOT pointer. */
269-static __inline__ Elf32_Addr * __attribute__ ((const))
270+static __always_inline Elf32_Addr * __attribute__ ((const))
271 ppc_got (void)
272 {
273 Elf32_Addr *got;
274@@ -109,14 +109,14 @@
275
276 /* Return the link-time address of _DYNAMIC, stored as
277 the first value in the GOT. */
278-static __inline__ Elf32_Addr __attribute__ ((const))
279+static __always_inline Elf32_Addr __attribute__ ((const))
280 elf_machine_dynamic (void)
281 {
282 return *ppc_got();
283 }
284
285 /* Return the run-time load address of the shared object. */
286-static __inline__ Elf32_Addr __attribute__ ((const))
287+static __always_inline Elf32_Addr __attribute__ ((const))
288 elf_machine_load_address (void)
289 {
290 Elf32_Addr *branchaddr;
291@@ -164,7 +164,7 @@
292 return runtime_dynamic - elf_machine_dynamic ();
293 }
294
295-static __inline__ void
296+static __always_inline void
297 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
298 Elf32_Word relative_count)
299 {
300diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sh/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h
301--- uClibc-0.9.30.1.orig/ldso/ldso/sh/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
302+++ uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
303@@ -25,7 +25,7 @@
304 struct elf_resolve;
305 extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
306
307-static __inline__ unsigned int
308+static __always_inline unsigned int
309 _dl_urem(unsigned int n, unsigned int base)
310 {
311 int res;
312@@ -100,7 +100,7 @@
313 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
314 first element of the GOT. This must be inlined in a function which
315 uses global data. */
316-static __inline__ Elf32_Addr __attribute__ ((unused))
317+static __always_inline Elf32_Addr __attribute__ ((unused))
318 elf_machine_dynamic (void)
319 {
320 register Elf32_Addr *got;
321@@ -109,7 +109,7 @@
322 }
323
324 /* Return the run-time load address of the shared object. */
325-static __inline__ Elf32_Addr __attribute__ ((unused))
326+static __always_inline Elf32_Addr __attribute__ ((unused))
327 elf_machine_load_address (void)
328 {
329 Elf32_Addr addr;
330@@ -151,7 +151,7 @@
331 } \
332 }
333
334-static __inline__ void
335+static __always_inline void
336 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
337 Elf32_Word relative_count)
338 {
339diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sh64/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h
340--- uClibc-0.9.30.1.orig/ldso/ldso/sh64/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
341+++ uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
342@@ -42,7 +42,7 @@
343 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
344 first element of the GOT. This must be inlined in a function which
345 uses global data. */
346-static __inline__ Elf32_Addr elf_machine_dynamic(void)
347+static __always_inline Elf32_Addr elf_machine_dynamic(void)
348 {
349 register Elf32_Addr *got;
350
351@@ -70,7 +70,7 @@
352 }
353
354 /* Return the run-time load address of the shared object. */
355-static __inline__ Elf32_Addr elf_machine_load_address(void)
356+static __always_inline Elf32_Addr elf_machine_load_address(void)
357 {
358 Elf32_Addr addr;
359
360@@ -123,7 +123,7 @@
361 } \
362 }
363
364-static __inline__ void
365+static __always_inline void
366 elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
367 Elf32_Word relative_count)
368 {
369diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/sparc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h
370--- uClibc-0.9.30.1.orig/ldso/ldso/sparc/dl-sysdep.h 2008-09-15 09:36:11.000000000 -0700
371+++ uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
372@@ -49,7 +49,7 @@
373
374 #ifndef COMPILE_ASM
375 /* Cheap modulo implementation, taken from arm/ld_sysdep.h. */
376-static __inline__ unsigned long
377+static __always_inline unsigned long
378 sparc_mod(unsigned long m, unsigned long p)
379 {
380 unsigned long i, t, inc;
381@@ -127,7 +127,7 @@
382 /* Return the link-time address of _DYNAMIC. Conveniently, this is the
383 first element of the GOT. This must be inlined in a function which
384 uses global data. */
385-static __inline__ Elf32_Addr
386+static __always_inline Elf32_Addr
387 elf_machine_dynamic (void)
388 {
389 register Elf32_Addr *got __asm__ ("%l7");
390@@ -138,7 +138,7 @@
391 }
392
393 /* Return the run-time load address of the shared object. */
394-static __inline__ Elf32_Addr
395+static __always_inline Elf32_Addr
396 elf_machine_load_address (void)
397 {
398 register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
399@@ -157,7 +157,7 @@
400 return (Elf32_Addr) got - *got + (pc[2] - pc[3]) * 4 - 4;
401 }
402
403-static __inline__ void
404+static __always_inline void
405 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
406 Elf32_Word relative_count)
407 {
408diff -Naur uClibc-0.9.30.1.orig/ldso/ldso/xtensa/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h
409--- uClibc-0.9.30.1.orig/ldso/ldso/xtensa/dl-sysdep.h 2008-07-23 04:19:00.000000000 -0700
410+++ uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h 2009-03-05 09:18:44.955696000 -0800
411@@ -87,7 +87,7 @@
412 (((type) == R_XTENSA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
413
414 /* Return the link-time address of _DYNAMIC. */
415-static __inline__ Elf32_Addr
416+static __always_inline Elf32_Addr
417 elf_machine_dynamic (void)
418 {
419 /* This function is only used while bootstrapping the runtime linker.
420@@ -97,7 +97,7 @@
421 }
422
423 /* Return the run-time load address of the shared object. */
424-static __inline__ Elf32_Addr
425+static __always_inline Elf32_Addr
426 elf_machine_load_address (void)
427 {
428 Elf32_Addr addr, tmp;
429@@ -118,7 +118,7 @@
430 return addr - 3;
431 }
432
433-static __inline__ void
434+static __always_inline void
435 elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
436 Elf32_Word relative_count)
437 {
438diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h
439--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
440+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
441@@ -78,3 +78,7 @@
442
443 # endif /* GNUC before 3.4 */
444 #endif /* COMPLEX_H */
445+
446+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
447+# define __NO_LONG_DOUBLE_MATH 1
448+#endif
449diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h
450--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/wordsize.h 2008-10-03 07:24:28.000000000 -0700
451+++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/wordsize.h 2009-03-12 09:51:53.727930000 -0700
452@@ -18,13 +18,13 @@
453
454 #define __WORDSIZE 64
455
456-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
457+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
458
459 /* Signal that we didn't used to have a `long double'. The changes all
460 the `long double' function variants to be redirects to the double
461 functions. */
462 # define __LONG_DOUBLE_MATH_OPTIONAL 1
463 # ifndef __LONG_DOUBLE_128__
464-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
465+# define __NO_LONG_DOUBLE_MATH 1
466 # endif
467 #endif
468diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/arm/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h
469--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/arm/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
470+++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
471@@ -34,3 +34,11 @@
472 # define FP_ILOGBNAN (2147483647)
473
474 #endif /* ISO C99 */
475+
476+#ifndef __NO_LONG_DOUBLE_MATH
477+/* Signal that we do not really have a `long double'. This disables the
478+ declaration of all the `long double' function variants. */
479+/* XXX The FPA does support this but the patterns in GCC are currently
480+ turned off. */
481+# define __NO_LONG_DOUBLE_MATH 1
482+#endif
483diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/common/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h
484--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/common/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
485+++ uClibc-0.9.30.1/libc/sysdeps/linux/common/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
486@@ -35,3 +35,9 @@
487 # define FP_ILOGBNAN 2147483647
488
489 #endif /* ISO C99 */
490+
491+#ifndef __NO_LONG_DOUBLE_MATH
492+/* Signal that we do not really have a `long double'. The disables the
493+ declaration of all the `long double' function variants. */
494+# define __NO_LONG_DOUBLE_MATH 1
495+#endif
496diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/i386/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h
497--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/i386/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
498+++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
499@@ -44,3 +44,7 @@
500 # define FP_ILOGBNAN (-2147483647 - 1)
501
502 #endif /* ISO C99 */
503+
504+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
505+# define __NO_LONG_DOUBLE_MATH 1
506+#endif
507diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/ia64/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h
508--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/ia64/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
509+++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
510@@ -35,3 +35,7 @@
511 # define FP_ILOGBNAN 2147483647
512
513 #endif /* ISO C99 */
514+
515+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
516+# define __NO_LONG_DOUBLE_MATH 1
517+#endif
518diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/m68k/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h
519--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/m68k/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
520+++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
521@@ -36,3 +36,7 @@
522 # define FP_ILOGBNAN (2147483647)
523
524 #endif /* ISO C99 */
525+
526+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
527+# define __NO_LONG_DOUBLE_MATH 1
528+#endif
529diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/mips/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h
530--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/mips/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
531+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
532@@ -39,8 +39,10 @@
533
534 #endif /* ISO C99 */
535
536-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && _MIPS_SIM == _ABIO32
537+#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
538 /* Signal that we do not really have a `long double'. This disables the
539 declaration of all the `long double' function variants. */
540-# error defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ and _MIPS_SIM == _ABIO32
541+# define __NO_LONG_DOUBLE_MATH 1
542+#elif !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
543+# define __NO_LONG_DOUBLE_MATH 1
544 #endif
545diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h
546--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
547+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
548@@ -34,3 +34,11 @@
549 # define FP_ILOGBNAN (2147483647)
550
551 #endif /* ISO C99 */
552+
553+#ifndef __NO_LONG_DOUBLE_MATH
554+/* Signal that we do not really have a `long double'. This disables the
555+ declaration of all the `long double' function variants. */
556+/* XXX The FPA does support this but the patterns in GCC are currently
557+ turned off. */
558+# define __NO_LONG_DOUBLE_MATH 1
559+#endif
560diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios2/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h
561--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/nios2/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
562+++ uClibc-0.9.30.1/libc/sysdeps/linux/nios2/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
563@@ -34,3 +34,11 @@
564 # define FP_ILOGBNAN (2147483647)
565
566 #endif /* ISO C99 */
567+
568+#ifndef __NO_LONG_DOUBLE_MATH
569+/* Signal that we do not really have a `long double'. This disables the
570+ declaration of all the `long double' function variants. */
571+/* XXX The FPA does support this but the patterns in GCC are currently
572+ turned off. */
573+# define __NO_LONG_DOUBLE_MATH 1
574+#endif
575diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h
576--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
577+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
578@@ -65,11 +65,13 @@
579
580 #endif /* ISO C99 */
581
582-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
583+#ifndef __NO_LONG_DOUBLE_MATH
584 #include <bits/wordsize.h>
585 /* Signal that we do not really have a `long double'. The disables the
586 declaration of all the `long double' function variants. */
587 # if __WORDSIZE == 32
588-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
589+# define __NO_LONG_DOUBLE_MATH 1
590+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
591+# define __NO_LONG_DOUBLE_MATH 1
592 # endif /* __WORDSIZE == 32 */
593-#endif /* __UCLIBC_HAS_LONG_DOUBLE_MATH__ */
594+#endif /* __NO_LONG_DOUBLE_MATH */
595diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h
596--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/wordsize.h 2008-10-03 07:24:28.000000000 -0700
597+++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/wordsize.h 2009-03-12 09:51:53.727930000 -0700
598@@ -7,13 +7,13 @@
599 # define __WORDSIZE 32
600 #endif
601
602-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL
603+#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
604
605 /* Signal the glibc ABI didn't used to have a `long double'.
606 The changes all the `long double' function variants to be redirects
607 to the double functions. */
608 # define __LONG_DOUBLE_MATH_OPTIONAL 1
609 # ifndef __LONG_DOUBLE_128__
610-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
611+# define __NO_LONG_DOUBLE_MATH 1
612 # endif
613 #endif
614diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sh/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h
615--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sh/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
616+++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
617@@ -61,3 +61,9 @@
618 # define FP_ILOGBNAN 0x7fffffff
619
620 #endif /* ISO C99 */
621+
622+#ifndef __NO_LONG_DOUBLE_MATH
623+/* Signal that we do not really have a `long double'. The disables the
624+ declaration of all the `long double' function variants. */
625+# define __NO_LONG_DOUBLE_MATH 1
626+#endif
627diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h
628--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
629+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
630@@ -57,13 +57,15 @@
631
632 #endif /* ISO C99 */
633
634-#ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
635+#ifndef __NO_LONG_DOUBLE_MATH
636
637 # if __WORDSIZE == 32
638 /* Signal that in 32bit ABI we do not really have a `long double'.
639 The disables the declaration of all the `long double' function
640 variants. */
641-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
642+# define __NO_LONG_DOUBLE_MATH 1
643+# elif !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
644+# define __NO_LONG_DOUBLE_MATH 1
645 # endif
646
647 #endif
648diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathinline.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h
649--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/mathinline.h 2008-10-03 07:24:28.000000000 -0700
650+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/mathinline.h 2009-03-12 09:51:53.727930000 -0700
651@@ -37,7 +37,7 @@
652
653 # if __WORDSIZE == 32
654
655-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
656+# ifndef __NO_LONG_DOUBLE_MATH
657
658 # define __unordered_cmp(x, y) \
659 (__extension__ \
660@@ -157,7 +157,7 @@
661 return __u.__i[0] < 0;
662 }
663
664-# ifdef __UCLIBC_HAS_LONG_DOUBLE_MATH__
665+# ifndef __NO_LONG_DOUBLE_MATH
666 __MATH_INLINE int
667 __NTH (__signbitl (long double __x))
668 {
669@@ -219,7 +219,7 @@
670 _Qp_sqrt (&__r, &__x);
671 return __r;
672 }
673-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
674+# elif !defined __NO_LONG_DOUBLE_MATH
675 __MATH_INLINE long double
676 sqrtl (long double __x) __THROW
677 {
678@@ -257,7 +257,7 @@
679 _Qp_sqrt(&__r, &__x);
680 return __r;
681 }
682-# elif defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
683+# elif !defined __NO_LONG_DOUBLE_MATH
684 __MATH_INLINE long double
685 __ieee754_sqrtl (long double __x)
686 {
687diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/wordsize.h uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h
688--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/wordsize.h 2008-10-03 07:24:28.000000000 -0700
689+++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/wordsize.h 2009-03-12 09:51:53.727930000 -0700
690@@ -6,7 +6,7 @@
691 # define __WORDSIZE 32
692 #endif
693
694-#if 0 /* uClibc: done in mathdefs.h: defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
695+#if 0 /* uClibc: done in mathdefs.h: !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL*/
696
697 # if __WORDSIZE == 32
698 /* Signal that in 32bit ABI we didn't used to have a `long double'.
699@@ -14,7 +14,7 @@
700 to the double functions. */
701 # define __LONG_DOUBLE_MATH_OPTIONAL 1
702 # ifndef __LONG_DOUBLE_128__
703-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
704+# define __NO_LONG_DOUBLE_MATH 1
705 # endif
706 # endif
707 #endif
708diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/x86_64/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h
709--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/x86_64/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
710+++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
711@@ -46,3 +46,7 @@
712 # define FP_ILOGBNAN (-2147483647 - 1)
713
714 #endif /* ISO C99 */
715+
716+#if !defined __NO_LONG_DOUBLE_MATH && !defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
717+# define __NO_LONG_DOUBLE_MATH 1
718+#endif
719diff -Naur uClibc-0.9.30.1.orig/libc/sysdeps/linux/xtensa/bits/mathdef.h uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h
720--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/xtensa/bits/mathdef.h 2008-10-03 07:24:28.000000000 -0700
721+++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/mathdef.h 2009-03-12 09:51:53.727930000 -0700
722@@ -36,8 +36,8 @@
723
724 #endif /* ISO C99 */
725
726-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
727+#ifndef __NO_LONG_DOUBLE_MATH
728 /* Signal that we do not really have a `long double'. The disables the
729 declaration of all the `long double' function variants. */
730-# undef __UCLIBC_HAS_LONG_DOUBLE_MATH__
731+# define __NO_LONG_DOUBLE_MATH 1
732 #endif
733diff -Naur uClibc-0.9.30.1.orig/libm/ldouble_wrappers.c uClibc-0.9.30.1/libm/ldouble_wrappers.c
734--- uClibc-0.9.30.1.orig/libm/ldouble_wrappers.c 2009-02-24 06:31:14.000000000 -0800
735+++ uClibc-0.9.30.1/libm/ldouble_wrappers.c 2009-03-12 09:51:53.727930000 -0700
736@@ -13,6 +13,16 @@
737 #include "math.h"
738 #include <complex.h>
739
740+#if defined __NO_LONG_DOUBLE_MATH
741+# define int_WRAPPER_C99(func) /* not needed */
742+# else
743+# define int_WRAPPER_C99(func) \
744+int func##l(long double x) \
745+{ \
746+ return func((double) x); \
747+} \
748+libm_hidden_def(func##l)
749+#endif
750
751 /* Implement the following, as defined by SuSv3 */
752 #if 0
753@@ -543,46 +553,28 @@
754 #endif
755
756
757-#ifdef __DO_C99_MATH__
758+#if defined __DO_C99_MATH__
759
760 #ifdef L_fpclassifyl
761-int __fpclassifyl (long double x)
762-{
763- return __fpclassify ( (double) x );
764-}
765-libm_hidden_def(__fpclassifyl)
766+int_WRAPPER_C99(__fpclassify)
767 #endif
768
769 #ifdef L_finitel
770-int __finitel (long double x)
771-{
772- return __finite ( (double)x );
773-}
774-libm_hidden_def(__finitel)
775+int_WRAPPER_C99(__finite)
776 #endif
777
778 #ifdef L_signbitl
779-int __signbitl (long double x)
780-{
781- return __signbitl ( (double)x );
782-}
783-libm_hidden_def(__signbitl)
784+int_WRAPPER_C99(__signbit)
785 #endif
786
787 #ifdef L_isnanl
788-int __isnanl (long double x)
789-{
790- return __isnan ( (double)x );
791-}
792-libm_hidden_def(__isnanl)
793+int_WRAPPER_C99(__isnan)
794 #endif
795
796 #ifdef L_isinfl
797-int __isinfl (long double x)
798-{
799- return __isinf ( (double)x );
800-}
801-libm_hidden_def(__isinfl)
802+int_WRAPPER_C99(__isinf)
803 #endif
804
805-#endif
806+#endif /* DO_C99_MATH */
807+
808+#undef int_WRAPPER_C99
809diff -Naur uClibc-0.9.30.1.orig/libm/nan.c uClibc-0.9.30.1/libm/nan.c
810--- uClibc-0.9.30.1.orig/libm/nan.c 2008-10-03 07:24:28.000000000 -0700
811+++ uClibc-0.9.30.1/libm/nan.c 2009-03-12 09:51:53.727930000 -0700
812@@ -45,7 +45,7 @@
813 }
814 libm_hidden_def(nanf)
815
816-#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__
817+#if defined __UCLIBC_HAS_LONG_DOUBLE_MATH__ && !defined __NO_LONG_DOUBLE_MATH
818 libm_hidden_proto(nanl)
819 long double nanl (const char *tagp)
820 {
821diff -Naur uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h
822--- uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h 1969-12-31 16:00:00.000000000 -0800
823+++ uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep-cancel.h 2009-03-28 09:09:19.312443917 -0700
824@@ -0,0 +1,9 @@
825+#include <sysdep.h>
826+
827+/* No multi-thread handling enabled. */
828+#define SINGLE_THREAD_P (1)
829+#define RTLD_SINGLE_THREAD_P (1)
830+#define LIBC_CANCEL_ASYNC() 0 /* Just a dummy value. */
831+#define LIBC_CANCEL_RESET(val) ((void)(val)) /* Nothing, but evaluate it. */
832+#define LIBC_CANCEL_HANDLED() /* Nothing. */
833+
834diff -Naur uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep.h uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep.h
835--- uClibc-0.9.30.1.orig/libpthread/linuxthreads/sysdeps/arm/sysdep.h 1969-12-31 16:00:00.000000000 -0800
836+++ uClibc-0.9.30.1/libpthread/linuxthreads/sysdeps/arm/sysdep.h 2009-03-28 09:10:02.267196257 -0700
837@@ -0,0 +1,138 @@
838+/* Generic asm macros used on many machines.
839+ Copyright (C) 1991,92,93,96,98,2002,2003 Free Software Foundation, Inc.
840+ This file is part of the GNU C Library.
841+
842+ The GNU C Library is free software; you can redistribute it and/or
843+ modify it under the terms of the GNU Lesser General Public
844+ License as published by the Free Software Foundation; either
845+ version 2.1 of the License, or (at your option) any later version.
846+
847+ The GNU C Library is distributed in the hope that it will be useful,
848+ but WITHOUT ANY WARRANTY; without even the implied warranty of
849+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
850+ Lesser General Public License for more details.
851+
852+ You should have received a copy of the GNU Lesser General Public
853+ License along with the GNU C Library; if not, write to the Free
854+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
855+ 02111-1307 USA. */
856+
857+#ifndef C_LABEL
858+
859+/* Define a macro we can use to construct the asm name for a C symbol. */
860+#ifdef NO_UNDERSCORES
861+#ifdef __STDC__
862+#define C_LABEL(name) name##:
863+#else
864+#define C_LABEL(name) name/**/:
865+#endif
866+#else
867+#ifdef __STDC__
868+#define C_LABEL(name) _##name##:
869+#else
870+#define C_LABEL(name) _/**/name/**/:
871+#endif
872+#endif
873+
874+#endif
875+
876+#ifdef __ASSEMBLER__
877+/* Mark the end of function named SYM. This is used on some platforms
878+ to generate correct debugging information. */
879+#ifndef END
880+#define END(sym)
881+#endif
882+
883+#ifndef JUMPTARGET
884+#define JUMPTARGET(sym) sym
885+#endif
886+
887+/* Makros to generate eh_frame unwind information. */
888+# ifdef HAVE_ASM_CFI_DIRECTIVES
889+# define cfi_startproc .cfi_startproc
890+# define cfi_endproc .cfi_endproc
891+# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off
892+# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg
893+# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off
894+# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off
895+# define cfi_offset(reg, off) .cfi_offset reg, off
896+# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off
897+# define cfi_register(r1, r2) .cfi_register r1, r2
898+# define cfi_return_column(reg) .cfi_return_column reg
899+# define cfi_restore(reg) .cfi_restore reg
900+# define cfi_same_value(reg) .cfi_same_value reg
901+# define cfi_undefined(reg) .cfi_undefined reg
902+# define cfi_remember_state .cfi_remember_state
903+# define cfi_restore_state .cfi_restore_state
904+# define cfi_window_save .cfi_window_save
905+# else
906+# define cfi_startproc
907+# define cfi_endproc
908+# define cfi_def_cfa(reg, off)
909+# define cfi_def_cfa_register(reg)
910+# define cfi_def_cfa_offset(off)
911+# define cfi_adjust_cfa_offset(off)
912+# define cfi_offset(reg, off)
913+# define cfi_rel_offset(reg, off)
914+# define cfi_register(r1, r2)
915+# define cfi_return_column(reg)
916+# define cfi_restore(reg)
917+# define cfi_same_value(reg)
918+# define cfi_undefined(reg)
919+# define cfi_remember_state
920+# define cfi_restore_state
921+# define cfi_window_save
922+# endif
923+
924+#else /* ! ASSEMBLER */
925+# ifdef HAVE_ASM_CFI_DIRECTIVES
926+# define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
927+# define CFI_STRINGIFY2(Name) #Name
928+# define CFI_STARTPROC ".cfi_startproc"
929+# define CFI_ENDPROC ".cfi_endproc"
930+# define CFI_DEF_CFA(reg, off) \
931+ ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
932+# define CFI_DEF_CFA_REGISTER(reg) \
933+ ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
934+# define CFI_DEF_CFA_OFFSET(off) \
935+ ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
936+# define CFI_ADJUST_CFA_OFFSET(off) \
937+ ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
938+# define CFI_OFFSET(reg, off) \
939+ ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
940+# define CFI_REL_OFFSET(reg, off) \
941+ ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
942+# define CFI_REGISTER(r1, r2) \
943+ ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2)
944+# define CFI_RETURN_COLUMN(reg) \
945+ ".cfi_return_column " CFI_STRINGIFY(reg)
946+# define CFI_RESTORE(reg) \
947+ ".cfi_restore " CFI_STRINGIFY(reg)
948+# define CFI_UNDEFINED(reg) \
949+ ".cfi_undefined " CFI_STRINGIFY(reg)
950+# define CFI_REMEMBER_STATE \
951+ ".cfi_remember_state"
952+# define CFI_RESTORE_STATE \
953+ ".cfi_restore_state"
954+# define CFI_WINDOW_SAVE \
955+ ".cfi_window_save"
956+# else
957+# define CFI_STARTPROC
958+# define CFI_ENDPROC
959+# define CFI_DEF_CFA(reg, off)
960+# define CFI_DEF_CFA_REGISTER(reg)
961+# define CFI_DEF_CFA_OFFSET(off)
962+# define CFI_ADJUST_CFA_OFFSET(off)
963+# define CFI_OFFSET(reg, off)
964+# define CFI_REL_OFFSET(reg, off)
965+# define CFI_REGISTER(r1, r2)
966+# define CFI_RETURN_COLUMN(reg)
967+# define CFI_RESTORE(reg)
968+# define CFI_UNDEFINED(reg)
969+# define CFI_REMEMBER_STATE
970+# define CFI_RESTORE_STATE
971+# define CFI_WINDOW_SAVE
972+# endif
973+
974+#endif /* __ASSEMBLER__ */
975+
976diff -Naur uClibc-0.9.30.1.orig/Rules.mak uClibc-0.9.30.1/Rules.mak
977--- uClibc-0.9.30.1.orig/Rules.mak 2009-03-02 13:10:04.000000000 -0800
978+++ uClibc-0.9.30.1/Rules.mak 2009-03-25 12:26:54.011652000 -0700
979@@ -85,7 +85,7 @@
980 MAJOR_VERSION := 0
981 MINOR_VERSION := 9
982 SUBLEVEL := 30
983-EXTRAVERSION :=.1
984+EXTRAVERSION :=.2-svn
985 VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
986 ifneq ($(EXTRAVERSION),)
987 VERSION := $(VERSION)$(EXTRAVERSION)
988@@ -393,7 +393,7 @@
989 # -shared by itself would get us global function descriptors
990 # and calls through PLTs, dynamic resolution of symbols, etc,
991 # which would break as well, but -Bsymbolic comes to the rescue.
992- export LDPIEFLAG:=-Wl,-shared -Wl,-Bsymbolic
993+ export LDPIEFLAG:=-shared -Wl,-Bsymbolic
994 UCLIBC_LDSO=ld.so.1
995 endif
996
997@@ -520,7 +520,7 @@
998
999 CFLAGS += $(call check_gcc,-std=gnu99,)
1000
1001-LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -Wl,-shared \
1002+LDFLAGS_NOSTRIP:=$(CPU_LDFLAGS-y) -shared \
1003 -Wl,--warn-common -Wl,--warn-once -Wl,-z,combreloc
1004 # binutils-2.16.1 warns about ignored sections, 2.16.91.0.3 and newer are ok
1005 #LDFLAGS_NOSTRIP+=$(call check_ld,--gc-sections)
Note: See TracBrowser for help on using the repository browser.