patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
author Titus von Boxberg <titus@v9g.de>
Tue Nov 06 17:02:06 2012 +0100 (2012-11-06)
changeset 3103 a8bf927f6e37
permissions -rw-r--r--
Makefile.in: Use only standard options compatible with BSD install

Don't use options specific to FSF's coreutils install.

Signed-off-by: Titus von Boxberg <titus@v9g.de>
Message-Id: <51587db99510a9ec08f8.1352226968@tschetwerikow.boxberg.lan>
Patchwork-Id: 197532
yann@2437
     1
http://yann.poupet.free.fr/ep93xx/
yann@2437
     2
Add support for the Maverick Crunch FPU on Cirrus EP93XX processor series
yann@2437
     3
yann@2437
     4
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h
yann@2437
     5
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
     6
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/bits/endian.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
     7
@@ -12,7 +12,7 @@
yann@2437
     8
 /* FPA floating point units are always big-endian, irrespective of the
yann@2437
     9
    CPU endianness.  VFP floating point units use the same endianness
yann@2437
    10
    as the rest of the system.  */
yann@2437
    11
-#ifdef __VFP_FP__
yann@2437
    12
+#if defined __VFP_FP__ || defined __MAVERICK__
yann@2437
    13
 #define __FLOAT_WORD_ORDER __BYTE_ORDER
yann@2437
    14
 #else
yann@2437
    15
 #define __FLOAT_WORD_ORDER __BIG_ENDIAN
yann@2437
    16
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S
yann@2437
    17
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S	2009-05-16 10:36:20.000000000 +0200
yann@2437
    18
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/__longjmp.S	2009-11-13 00:51:22.000000000 +0100
yann@2437
    19
@@ -30,7 +30,33 @@
yann@2437
    20
 	movs	r0, r1		/* get the return value in place */
yann@2437
    21
 	moveq	r0, #1		/* can't let setjmp() return zero! */
yann@2437
    22
 
yann@2437
    23
+#ifdef __MAVERICK__
yann@2437
    24
+	cfldrd	mvd4,  [ip], #8
yann@2437
    25
+	nop
yann@2437
    26
+	cfldrd	mvd5,  [ip], #8
yann@2437
    27
+	nop
yann@2437
    28
+	cfldrd	mvd6,  [ip], #8
yann@2437
    29
+	nop
yann@2437
    30
+	cfldrd	mvd7,  [ip], #8
yann@2437
    31
+	nop
yann@2437
    32
+	cfldrd	mvd8,  [ip], #8
yann@2437
    33
+	nop
yann@2437
    34
+	cfldrd	mvd9,  [ip], #8
yann@2437
    35
+	nop
yann@2437
    36
+	cfldrd	mvd10, [ip], #8
yann@2437
    37
+	nop
yann@2437
    38
+	cfldrd	mvd11, [ip], #8
yann@2437
    39
+	nop
yann@2437
    40
+	cfldrd	mvd12, [ip], #8
yann@2437
    41
+	nop
yann@2437
    42
+	cfldrd	mvd13, [ip], #8
yann@2437
    43
+	nop
yann@2437
    44
+	cfldrd	mvd14, [ip], #8
yann@2437
    45
+	nop
yann@2437
    46
+	cfldrd	mvd15, [ip], #8
yann@2437
    47
+#else
yann@2437
    48
 	lfmfd	f4, 4, [ip] !	/* load the floating point regs */
yann@2437
    49
+#endif
yann@2437
    50
 
yann@2437
    51
 	LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
yann@2437
    52
 END (__longjmp)
yann@2437
    53
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h
yann@2437
    54
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
    55
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/fenv.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
    56
@@ -20,6 +20,45 @@
yann@2437
    57
 # error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
yann@2437
    58
 #endif
yann@2437
    59
 
yann@2437
    60
+#if defined(__MAVERICK__)
yann@2437
    61
+
yann@2437
    62
+/* Define bits representing exceptions in the FPU status word.  */
yann@2437
    63
+enum
yann@2437
    64
+  {
yann@2437
    65
+    FE_INVALID = 1,
yann@2437
    66
+#define FE_INVALID FE_INVALID
yann@2437
    67
+    FE_OVERFLOW = 4,
yann@2437
    68
+#define FE_OVERFLOW FE_OVERFLOW
yann@2437
    69
+    FE_UNDERFLOW = 8,
yann@2437
    70
+#define FE_UNDERFLOW FE_UNDERFLOW
yann@2437
    71
+    FE_INEXACT = 16,
yann@2437
    72
+#define FE_INEXACT FE_INEXACT
yann@2437
    73
+  };
yann@2437
    74
+
yann@2437
    75
+/* Amount to shift by to convert an exception to a mask bit.  */
yann@2437
    76
+#define FE_EXCEPT_SHIFT	5
yann@2437
    77
+
yann@2437
    78
+/* All supported exceptions.  */
yann@2437
    79
+#define FE_ALL_EXCEPT	\
yann@2437
    80
+	(FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
yann@2437
    81
+
yann@2437
    82
+/* IEEE rounding modes.  */
yann@2437
    83
+enum
yann@2437
    84
+  {
yann@2437
    85
+    FE_TONEAREST = 0,
yann@2437
    86
+#define FE_TONEAREST    FE_TONEAREST
yann@2437
    87
+    FE_TOWARDZERO = 0x400,
yann@2437
    88
+#define FE_TOWARDZERO   FE_TOWARDZERO
yann@2437
    89
+    FE_DOWNWARD = 0x800,
yann@2437
    90
+#define FE_DOWNWARD     FE_DOWNWARD
yann@2437
    91
+    FE_UPWARD = 0xc00,
yann@2437
    92
+#define FE_UPWARD       FE_UPWARD
yann@2437
    93
+  };
yann@2437
    94
+
yann@2437
    95
+#define FE_ROUND_MASK (FE_UPWARD)
yann@2437
    96
+
yann@2437
    97
+#else /* FPA */
yann@2437
    98
+
yann@2437
    99
 /* Define bits representing exceptions in the FPU status word.  */
yann@2437
   100
 enum
yann@2437
   101
   {
yann@2437
   102
@@ -44,6 +83,8 @@
yann@2437
   103
    modes exist, but you have to encode them in the actual instruction.  */
yann@2437
   104
 #define FE_TONEAREST	0
yann@2437
   105
 
yann@2437
   106
+#endif
yann@2437
   107
+
yann@2437
   108
 /* Type representing exception flags. */
yann@2437
   109
 typedef unsigned long int fexcept_t;
yann@2437
   110
 
yann@2437
   111
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h
yann@2437
   112
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
   113
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/bits/setjmp.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
   114
@@ -28,7 +28,11 @@
yann@2437
   115
 #ifndef _ASM
yann@2437
   116
 /* Jump buffer contains v1-v6, sl, fp, sp and pc.  Other registers are not
yann@2437
   117
    saved.  */
yann@2437
   118
+#ifdef __MAVERICK__
yann@2437
   119
+typedef int __jmp_buf[34];
yann@2437
   120
+#else
yann@2437
   121
 typedef int __jmp_buf[22];
yann@2437
   122
 #endif
yann@2437
   123
+#endif
yann@2437
   124
 
yann@2437
   125
 #endif
yann@2437
   126
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c
yann@2437
   127
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c	2009-05-16 10:36:20.000000000 +0200
yann@2437
   128
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fegetround.c	2009-11-13 00:51:22.000000000 +0100
yann@2437
   129
@@ -18,9 +18,21 @@
yann@2437
   130
    02111-1307 USA.  */
yann@2437
   131
 
yann@2437
   132
 #include <fenv.h>
yann@2437
   133
+#include <fpu_control.h>
yann@2437
   134
 
yann@2437
   135
 int
yann@2437
   136
 fegetround (void)
yann@2437
   137
 {
yann@2437
   138
+#if defined(__MAVERICK__)
yann@2437
   139
+
yann@2437
   140
+  unsigned long temp;
yann@2437
   141
+
yann@2437
   142
+  _FPU_GETCW (temp);
yann@2437
   143
+  return temp & FE_ROUND_MASK;
yann@2437
   144
+
yann@2437
   145
+#else /* FPA */
yann@2437
   146
+
yann@2437
   147
   return FE_TONEAREST;		/* Easy. :-) */
yann@2437
   148
+
yann@2437
   149
+#endif
yann@2437
   150
 }
yann@2437
   151
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c
yann@2437
   152
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c	2009-05-16 10:36:20.000000000 +0200
yann@2437
   153
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fesetround.c	2009-11-13 00:51:22.000000000 +0100
yann@2437
   154
@@ -18,12 +18,28 @@
yann@2437
   155
    02111-1307 USA.  */
yann@2437
   156
 
yann@2437
   157
 #include <fenv.h>
yann@2437
   158
+#include <fpu_control.h>
yann@2437
   159
 
yann@2437
   160
 int
yann@2437
   161
 fesetround (int round)
yann@2437
   162
 {
yann@2437
   163
+#if defined(__MAVERICK__)
yann@2437
   164
+  unsigned long temp;
yann@2437
   165
+
yann@2437
   166
+  if (round & ~FE_ROUND_MASK)
yann@2437
   167
+    return 1;
yann@2437
   168
+
yann@2437
   169
+  _FPU_GETCW (temp);
yann@2437
   170
+  temp = (temp & ~FE_ROUND_MASK) | round;
yann@2437
   171
+  _FPU_SETCW (temp);
yann@2437
   172
+  return 0;
yann@2437
   173
+
yann@2437
   174
+#else /* FPA */
yann@2437
   175
+
yann@2437
   176
   /* We only support FE_TONEAREST, so there is no need for any work.  */
yann@2437
   177
   return (round == FE_TONEAREST)?0:1;
yann@2437
   178
+
yann@2437
   179
+#endif
yann@2437
   180
 }
yann@2437
   181
 
yann@2437
   182
 libm_hidden_def (fesetround)
yann@2437
   183
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h
yann@2437
   184
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
   185
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/fpu_control.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
   186
@@ -1,5 +1,6 @@
yann@2437
   187
 /* FPU control word definitions.  ARM version.
yann@2437
   188
-   Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
yann@2437
   189
+   Copyright (C) 1996, 1997, 1998, 2000, 2005
yann@2437
   190
+   Free Software Foundation, Inc.
yann@2437
   191
    This file is part of the GNU C Library.
yann@2437
   192
 
yann@2437
   193
    The GNU C Library is free software; you can redistribute it and/or
yann@2437
   194
@@ -20,6 +21,79 @@
yann@2437
   195
 #ifndef _FPU_CONTROL_H
yann@2437
   196
 #define _FPU_CONTROL_H
yann@2437
   197
 
yann@2437
   198
+#if defined(__MAVERICK__)
yann@2437
   199
+
yann@2437
   200
+/* DSPSC register: (from EP9312 User's Guide)
yann@2437
   201
+ *
yann@2437
   202
+ * bits 31..29	- DAID
yann@2437
   203
+ * bits 28..26	- HVID
yann@2437
   204
+ * bits 25..24	- RSVD
yann@2437
   205
+ * bit  23	- ISAT
yann@2437
   206
+ * bit  22	- UI
yann@2437
   207
+ * bit  21	- INT
yann@2437
   208
+ * bit  20	- AEXC
yann@2437
   209
+ * bits 19..18	- SAT
yann@2437
   210
+ * bits 17..16	- FCC
yann@2437
   211
+ * bit  15	- V
yann@2437
   212
+ * bit  14	- FWDEN
yann@2437
   213
+ * bit  13	- Invalid
yann@2437
   214
+ * bit	12	- Denorm
yann@2437
   215
+ * bits 11..10	- RM
yann@2437
   216
+ * bits 9..5	- IXE, UFE, OFE, RSVD, IOE
yann@2437
   217
+ * bits 4..0	- IX, UF, OF, RSVD, IO
yann@2437
   218
+ */
yann@2437
   219
+
yann@2437
   220
+/* masking of interrupts */
yann@2437
   221
+#define _FPU_MASK_IM	(1 << 5)	/* invalid operation */
yann@2437
   222
+#define _FPU_MASK_ZM	0		/* divide by zero */
yann@2437
   223
+#define _FPU_MASK_OM	(1 << 7)	/* overflow */
yann@2437
   224
+#define _FPU_MASK_UM	(1 << 8)	/* underflow */
yann@2437
   225
+#define _FPU_MASK_PM	(1 << 9)	/* inexact */
yann@2437
   226
+#define _FPU_MASK_DM	0		/* denormalized operation */
yann@2437
   227
+
yann@2437
   228
+#define _FPU_RESERVED	0xfffff000	/* These bits are reserved.  */
yann@2437
   229
+
yann@2437
   230
+#define _FPU_DEFAULT	0x00b00000	/* Default value.  */
yann@2437
   231
+#define _FPU_IEEE	0x00b003a0	/* Default + exceptions enabled. */
yann@2437
   232
+
yann@2437
   233
+/* Type of the control word.  */
yann@2437
   234
+typedef unsigned int fpu_control_t;
yann@2437
   235
+
yann@2437
   236
+/* Macros for accessing the hardware control word.  */
yann@2437
   237
+#define _FPU_GETCW(cw) ({			\
yann@2437
   238
+	register int __t1, __t2;		\
yann@2437
   239
+						\
yann@2437
   240
+	__asm__ volatile (			\
yann@2437
   241
+	"cfmvr64l	%1, mvdx0\n\t"		\
yann@2437
   242
+	"cfmvr64h	%2, mvdx0\n\t"		\
yann@2437
   243
+	"cfmv32sc	mvdx0, dspsc\n\t"	\
yann@2437
   244
+	"cfmvr64l	%0, mvdx0\n\t"		\
yann@2437
   245
+	"cfmv64lr	mvdx0, %1\n\t"		\
yann@2437
   246
+	"cfmv64hr	mvdx0, %2"		\
yann@2437
   247
+	: "=r" (cw), "=r" (__t1), "=r" (__t2)	\
yann@2437
   248
+	);					\
yann@2437
   249
+})
yann@2437
   250
+
yann@2437
   251
+#define _FPU_SETCW(cw) ({			\
yann@2437
   252
+	register int __t0, __t1, __t2;		\
yann@2437
   253
+						\
yann@2437
   254
+	__asm__ volatile (			\
yann@2437
   255
+	"cfmvr64l	%1, mvdx0\n\t"		\
yann@2437
   256
+	"cfmvr64h	%2, mvdx0\n\t"		\
yann@2437
   257
+	"cfmv64lr	mvdx0, %0\n\t"		\
yann@2437
   258
+	"cfmvsc32	dspsc, mvdx0\n\t"	\
yann@2437
   259
+	"cfmv64lr	mvdx0, %1\n\t"		\
yann@2437
   260
+	"cfmv64hr	mvdx0, %2"		\
yann@2437
   261
+	: "=r" (__t0), "=r" (__t1), "=r" (__t2)	\
yann@2437
   262
+	: "0" (cw)				\
yann@2437
   263
+	);					\
yann@2437
   264
+})
yann@2437
   265
+
yann@2437
   266
+/* Default control word set at startup.  */
yann@2437
   267
+extern fpu_control_t __fpu_control;
yann@2437
   268
+
yann@2437
   269
+#else /* FPA */
yann@2437
   270
+
yann@2437
   271
 /* We have a slight terminology confusion here.  On the ARM, the register
yann@2437
   272
  * we're interested in is actually the FPU status word - the FPU control
yann@2437
   273
  * word is something different (which is implementation-defined and only
yann@2437
   274
@@ -99,4 +173,6 @@
yann@2437
   275
 /* Default control word set at startup.  */
yann@2437
   276
 extern fpu_control_t __fpu_control;
yann@2437
   277
 
yann@2437
   278
+#endif
yann@2437
   279
+
yann@2437
   280
 #endif /* _FPU_CONTROL_H */
yann@2437
   281
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h
yann@2437
   282
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
   283
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/jmpbuf-offsets.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
   284
@@ -17,4 +17,8 @@
yann@2437
   285
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
yann@2437
   286
    02111-1307 USA.  */
yann@2437
   287
 
yann@2437
   288
+#ifdef __MAVERICK__
yann@2437
   289
+#define __JMP_BUF_SP		32
yann@2437
   290
+#else
yann@2437
   291
 #define __JMP_BUF_SP		20
yann@2437
   292
+#endif
yann@2437
   293
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S
yann@2437
   294
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S	2009-05-16 10:36:20.000000000 +0200
yann@2437
   295
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/fpu/setjmp.S	2009-11-13 00:51:22.000000000 +0100
yann@2437
   296
@@ -24,11 +24,41 @@
yann@2437
   297
 
yann@2437
   298
 ENTRY (__sigsetjmp)
yann@2437
   299
 	/* Save registers */
yann@2437
   300
+#ifdef __MAVERICK__
yann@2437
   301
+	cfstrd	mvd4,  [r0], #8
yann@2437
   302
+	nop
yann@2437
   303
+	cfstrd	mvd5,  [r0], #8
yann@2437
   304
+	nop
yann@2437
   305
+	cfstrd	mvd6,  [r0], #8
yann@2437
   306
+	nop
yann@2437
   307
+	cfstrd	mvd7,  [r0], #8
yann@2437
   308
+	nop
yann@2437
   309
+	cfstrd	mvd8,  [r0], #8
yann@2437
   310
+	nop
yann@2437
   311
+	cfstrd	mvd9,  [r0], #8
yann@2437
   312
+	nop
yann@2437
   313
+	cfstrd	mvd10, [r0], #8
yann@2437
   314
+	nop
yann@2437
   315
+	cfstrd	mvd11, [r0], #8
yann@2437
   316
+	nop
yann@2437
   317
+	cfstrd	mvd12, [r0], #8
yann@2437
   318
+	nop
yann@2437
   319
+	cfstrd	mvd13, [r0], #8
yann@2437
   320
+	nop
yann@2437
   321
+	cfstrd	mvd14, [r0], #8
yann@2437
   322
+	nop
yann@2437
   323
+	cfstrd	mvd15, [r0], #8
yann@2437
   324
+#else
yann@2437
   325
 	sfmea	f4, 4, [r0]!
yann@2437
   326
+#endif
yann@2437
   327
 	stmia	r0, {v1-v6, sl, fp, sp, lr}
yann@2437
   328
 
yann@2437
   329
 	/* Restore pointer to jmp_buf */
yann@2437
   330
+#ifdef __MAVERICK__
yann@2437
   331
+	sub	r0, r0, #96
yann@2437
   332
+#else
yann@2437
   333
 	sub	r0, r0, #48
yann@2437
   334
+#endif
yann@2437
   335
 
yann@2437
   336
 	/* Make a tail call to __sigjmp_save; it takes the same args.  */
yann@2437
   337
 	B	PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
yann@2437
   338
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gccframe.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gccframe.h
yann@2437
   339
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gccframe.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
   340
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gccframe.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
   341
@@ -17,6 +17,10 @@
yann@2437
   342
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
yann@2437
   343
    02111-1307 USA.  */
yann@2437
   344
 
yann@2437
   345
+#ifdef __MAVERICK__
yann@2437
   346
+#define FIRST_PSEUDO_REGISTER 43
yann@2437
   347
+#else
yann@2437
   348
 #define FIRST_PSEUDO_REGISTER 27
yann@2437
   349
+#endif
yann@2437
   350
 
yann@2437
   351
 #include <sysdeps/generic/gccframe.h>
yann@2437
   352
diff -durN glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h
yann@2437
   353
--- glibc-2.12.1.orig/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h	2009-05-16 10:36:20.000000000 +0200
yann@2437
   354
+++ glibc-2.12.1/glibc-ports-2.12.1/sysdeps/arm/gmp-mparam.h	2009-11-13 00:51:22.000000000 +0100
yann@2437
   355
@@ -29,7 +29,7 @@
yann@2437
   356
 #if defined(__ARMEB__)
yann@2437
   357
 # define IEEE_DOUBLE_MIXED_ENDIAN 0
yann@2437
   358
 # define IEEE_DOUBLE_BIG_ENDIAN 1
yann@2437
   359
-#elif defined(__VFP_FP__)
yann@2437
   360
+#elif defined(__VFP_FP__) || defined(__MAVERICK__)
yann@2437
   361
 # define IEEE_DOUBLE_MIXED_ENDIAN 0
yann@2437
   362
 # define IEEE_DOUBLE_BIG_ENDIAN 0
yann@2437
   363
 #else
yann@2437
   364
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/bits/endian.h glibc-2.12.1/ports/sysdeps/arm/bits/endian.h
yann@2437
   365
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/__longjmp.S glibc-2.12.1/ports/sysdeps/arm/fpu/__longjmp.S
yann@2437
   366
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/bits/fenv.h glibc-2.12.1/ports/sysdeps/arm/fpu/bits/fenv.h
yann@2437
   367
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/bits/setjmp.h glibc-2.12.1/ports/sysdeps/arm/fpu/bits/setjmp.h
yann@2437
   368
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fegetround.c glibc-2.12.1/ports/sysdeps/arm/fpu/fegetround.c
yann@2437
   369
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fesetround.c glibc-2.12.1/ports/sysdeps/arm/fpu/fesetround.c
yann@2437
   370
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/fpu_control.h glibc-2.12.1/ports/sysdeps/arm/fpu/fpu_control.h
yann@2437
   371
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/jmpbuf-offsets.h glibc-2.12.1/ports/sysdeps/arm/fpu/jmpbuf-offsets.h
yann@2437
   372
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/fpu/setjmp.S glibc-2.12.1/ports/sysdeps/arm/fpu/setjmp.S
yann@2437
   373
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/gccframe.h glibc-2.12.1/ports/sysdeps/arm/gccframe.h
yann@2437
   374
diff -durN glibc-2.12.1.orig/ports/sysdeps/arm/gmp-mparam.h glibc-2.12.1/ports/sysdeps/arm/gmp-mparam.h