patches/uClibc/20080801/300-fix-asm.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Aug 07 14:05:47 2008 +0000 (2008-08-07)
changeset 766 717efd8b78b4
permissions -rw-r--r--
Update all samples to the latest set of options.
Update some samples to use newer features.
Add patches for the uClibc-20080801 snapshot to be able to build with gcc-4.3.
Add a patch against glibc-2.7 to allow building PPC with latest kernel headers.
Add a patch to gcc to use an alternate unwinding when built against uClibc (after a private explanation/request by Daniel Egger <daniel@eggers-club.de>)

/trunk/patches/glibc/2.7/230-powerpc-private_futex.patch | 15 15 0 0 +
/trunk/patches/uClibc/20080801/300-fix-asm.patch | 175 175 0 0 +++++++++
/trunk/patches/uClibc/20080801/100-ifaddrs.patch | 190 190 0 0 +++++++++
/trunk/patches/uClibc/20080801/200-mips-typeof.patch | 112 112 0 0 ++++++
/trunk/patches/gcc/4.3.1/330-unwind-for-uClibc.patch | 25 25 0 0 +
/trunk/samples/x86_64-unknown-linux-gnu/crosstool.config | 17 10 7 0 +
/trunk/samples/armeb-unknown-linux-uclibc/crosstool.config | 7 5 2 0 +
/trunk/samples/arm-unknown-linux-gnueabi/crosstool.config | 7 5 2 0 +
/trunk/samples/ia64-unknown-linux-gnu/crosstool.config | 14 11 3 0 +
/trunk/samples/x86_64-unknown-linux-uclibc/uClibc-20080801.config | 232 232 0 0 ++++++++++++
/trunk/samples/x86_64-unknown-linux-uclibc/crosstool.config | 34 21 13 0 +-
/trunk/samples/i686-nptl-linux-gnu/crosstool.config | 10 7 3 0 +
/trunk/samples/powerpc-unknown-linux-gnu/crosstool.config | 12 9 3 0 +
/trunk/samples/mips-unknown-linux-uclibc/uClibc-20080801.config | 249 249 0 0 ++++++++++++
/trunk/samples/mips-unknown-linux-uclibc/crosstool.config | 38 23 15 0 +-
/trunk/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 14 10 4 0 +
/trunk/samples/armeb-unknown-linux-gnu/crosstool.config | 7 5 2 0 +
/trunk/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 12 9 3 0 +
/trunk/samples/arm-unknown-linux-uclibc/crosstool.config | 7 5 2 0 +
/trunk/samples/i586-geode-linux-uclibc/uClibc-20080801.config | 261 261 0 0 +++++++++++++
/trunk/samples/i586-geode-linux-uclibc/crosstool.config | 32 20 12 0 ++
/trunk/samples/powerpc-unknown-linux-uclibc/crosstool.config | 12 9 3 0 +
/trunk/samples/mipsel-unknown-linux-gnu/crosstool.config | 7 5 2 0 +
/trunk/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 7 5 2 0 +
/trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 16 10 6 0 +
25 files changed, 1428 insertions(+), 84 deletions(-)
yann@766
     1
Index: uClibc/ldso/ldso/sparc/dl-sysdep.h
yann@766
     2
===================================================================
yann@766
     3
--- uClibc/ldso/ldso/sparc/dl-sysdep.h	(revision 23055)
yann@766
     4
+++ uClibc/ldso/ldso/sparc/dl-sysdep.h	(working copy)
yann@766
     5
@@ -141,7 +141,7 @@
yann@766
     6
 static __inline__ Elf32_Addr
yann@766
     7
 elf_machine_load_address (void)
yann@766
     8
 {
yann@766
     9
-	register Elf32_Addr *pc __asm__ ("%o7"), *got __asm ("%l7");
yann@766
    10
+	register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
yann@766
    11
 
yann@766
    12
 	__asm__ ("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t"
yann@766
    13
 	       "call 1f\n\t"
yann@766
    14
Index: uClibc/libc/sysdeps/linux/i386/bits/mathinline.h
yann@766
    15
===================================================================
yann@766
    16
--- uClibc/libc/sysdeps/linux/i386/bits/mathinline.h	(revision 23055)
yann@766
    17
+++ uClibc/libc/sysdeps/linux/i386/bits/mathinline.h	(working copy)
yann@766
    18
@@ -299,12 +299,12 @@
yann@766
    19
   __extension__ long long int __p = (long long int) __x;		      \
yann@766
    20
   if (__x == (long double) __p)						      \
yann@766
    21
     {									      \
yann@766
    22
-      __asm __volatile__						      \
yann@766
    23
+      __asm__ __volatile__						      \
yann@766
    24
 	("fscale"							      \
yann@766
    25
 	 : "=t" (__value) : "0" (1.0), "u" (__x));			      \
yann@766
    26
       return __value;							      \
yann@766
    27
     }									      \
yann@766
    28
-  __asm __volatile__							      \
yann@766
    29
+  __asm__ __volatile__							      \
yann@766
    30
     ("fld	%%st(0)\n\t"						      \
yann@766
    31
      "frndint			# int(x)\n\t"				      \
yann@766
    32
      "fxch\n\t"								      \
yann@766
    33
@@ -312,7 +312,7 @@
yann@766
    34
      "f2xm1			# 2^(fract(x)) - 1\n\t"			      \
yann@766
    35
      : "=t" (__value), "=u" (__exponent) : "0" (__x));			      \
yann@766
    36
   __value += 1.0;							      \
yann@766
    37
-  __asm __volatile__							      \
yann@766
    38
+  __asm__ __volatile__							      \
yann@766
    39
     ("fscale"								      \
yann@766
    40
      : "=t" (__value) : "0" (__value), "u" (__exponent));		      \
yann@766
    41
   return __value)
yann@766
    42
@@ -321,7 +321,7 @@
yann@766
    43
 #  define __sincos_code \
yann@766
    44
   register long double __cosr;						      \
yann@766
    45
   register long double __sinr;						      \
yann@766
    46
-  __asm __volatile__							      \
yann@766
    47
+  __asm__ __volatile__							      \
yann@766
    48
     ("fsincos\n\t"							      \
yann@766
    49
      "fnstsw	%%ax\n\t"						      \
yann@766
    50
      "testl	$0x400, %%eax\n\t"					      \
yann@766
    51
@@ -373,7 +373,7 @@
yann@766
    52
   register long double __value;						      \
yann@766
    53
   register long double __exponent;					      \
yann@766
    54
   register long double __temp;						      \
yann@766
    55
-  __asm __volatile__							      \
yann@766
    56
+  __asm__ __volatile__							      \
yann@766
    57
     ("fldl2e			# e^x - 1 = 2^(x * log2(e)) - 1\n\t"	      \
yann@766
    58
      "fmul	%%st(1)		# x * log2(e)\n\t"			      \
yann@766
    59
      "fst	%%st(1)\n\t"						      \
yann@766
    60
@@ -383,7 +383,7 @@
yann@766
    61
      "f2xm1			# 2^(fract(x * log2(e))) - 1\n\t"	      \
yann@766
    62
      "fscale			# 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" \
yann@766
    63
      : "=t" (__value), "=u" (__exponent) : "0" (__x));			      \
yann@766
    64
-  __asm __volatile__							      \
yann@766
    65
+  __asm__ __volatile__							      \
yann@766
    66
     ("fscale			# 2^int(x * log2(e))\n\t"		      \
yann@766
    67
      : "=t" (__temp) : "0" (1.0), "u" (__exponent));			      \
yann@766
    68
   __temp -= 1.0;							      \
yann@766
    69
@@ -398,7 +398,7 @@
yann@766
    70
 #  define __exp_code \
yann@766
    71
   register long double __value;						      \
yann@766
    72
   register long double __exponent;					      \
yann@766
    73
-  __asm __volatile__							      \
yann@766
    74
+  __asm__ __volatile__							      \
yann@766
    75
     ("fldl2e			# e^x = 2^(x * log2(e))\n\t"		      \
yann@766
    76
      "fmul	%%st(1)		# x * log2(e)\n\t"			      \
yann@766
    77
      "fst	%%st(1)\n\t"						      \
yann@766
    78
@@ -408,7 +408,7 @@
yann@766
    79
      "f2xm1			# 2^(fract(x * log2(e))) - 1\n\t"	      \
yann@766
    80
      : "=t" (__value), "=u" (__exponent) : "0" (__x));			      \
yann@766
    81
   __value += 1.0;							      \
yann@766
    82
-  __asm __volatile__							      \
yann@766
    83
+  __asm__ __volatile__							      \
yann@766
    84
     ("fscale"								      \
yann@766
    85
      : "=t" (__value) : "0" (__value), "u" (__exponent));		      \
yann@766
    86
   return __value
yann@766
    87
@@ -421,7 +421,7 @@
yann@766
    88
 __inline_mathcodeNP (tan, __x, \
yann@766
    89
   register long double __value;						      \
yann@766
    90
   register long double __value2 __attribute__ ((__unused__));		      \
yann@766
    91
-  __asm __volatile__							      \
yann@766
    92
+  __asm__ __volatile__							      \
yann@766
    93
     ("fptan"								      \
yann@766
    94
      : "=t" (__value2), "=u" (__value) : "0" (__x));			      \
yann@766
    95
   return __value)
yann@766
    96
@@ -435,7 +435,7 @@
yann@766
    97
 #else
yann@766
    98
 # define __atan2_code \
yann@766
    99
   register long double __value;						      \
yann@766
   100
-  __asm __volatile__							      \
yann@766
   101
+  __asm__ __volatile__							      \
yann@766
   102
     ("fpatan"								      \
yann@766
   103
      : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)");		      \
yann@766
   104
   return __value
yann@766
   105
@@ -449,7 +449,7 @@
yann@766
   106
 #if defined __FAST_MATH__ && !__GNUC_PREREQ (3, 5)
yann@766
   107
 __inline_mathcodeNP2 (fmod, __x, __y, \
yann@766
   108
   register long double __value;						      \
yann@766
   109
-  __asm __volatile__							      \
yann@766
   110
+  __asm__ __volatile__							      \
yann@766
   111
     ("1:	fprem\n\t"						      \
yann@766
   112
      "fnstsw	%%ax\n\t"						      \
yann@766
   113
      "sahf\n\t"								      \
yann@766
   114
@@ -552,7 +552,7 @@
yann@766
   115
 #ifdef __FAST_MATH__
yann@766
   116
 # define __ldexp_code \
yann@766
   117
   register long double __value;						      \
yann@766
   118
-  __asm __volatile__							      \
yann@766
   119
+  __asm__ __volatile__							      \
yann@766
   120
     ("fscale"								      \
yann@766
   121
      : "=t" (__value) : "0" (__x), "u" ((long double) __y));		      \
yann@766
   122
   return __value
yann@766
   123
@@ -581,7 +581,7 @@
yann@766
   124
   if (__fabsl (__x) >= 1.0 - 0.5 * __M_SQRT2)				      \
yann@766
   125
     __value = logl (1.0 + __x);						      \
yann@766
   126
   else									      \
yann@766
   127
-    __asm __volatile__							      \
yann@766
   128
+    __asm__ __volatile__							      \
yann@766
   129
       ("fldln2\n\t"							      \
yann@766
   130
        "fxch\n\t"							      \
yann@766
   131
        "fyl2xp1"							      \
yann@766
   132
@@ -611,7 +611,7 @@
yann@766
   133
 __inline_mathcodeNP(logb, __x, \
yann@766
   134
   register long double __value;						      \
yann@766
   135
   register long double __junk;						      \
yann@766
   136
-  __asm __volatile__							      \
yann@766
   137
+  __asm__ __volatile__							      \
yann@766
   138
     ("fxtract\n\t"							      \
yann@766
   139
      : "=t" (__junk), "=u" (__value) : "0" (__x));			      \
yann@766
   140
   return __value)
yann@766
   141
@@ -699,7 +699,7 @@
yann@766
   142
 __inline_mathcodeNP2 (drem, __x, __y, \
yann@766
   143
   register double __value;						      \
yann@766
   144
   register int __clobbered;						      \
yann@766
   145
-  __asm __volatile__							      \
yann@766
   146
+  __asm__ __volatile__							      \
yann@766
   147
     ("1:	fprem1\n\t"						      \
yann@766
   148
      "fstsw	%%ax\n\t"						      \
yann@766
   149
      "sahf\n\t"								      \
yann@766
   150
Index: uClibc/libc/sysdeps/linux/x86_64/sigaction.c
yann@766
   151
===================================================================
yann@766
   152
--- uClibc/libc/sysdeps/linux/x86_64/sigaction.c	(revision 23055)
yann@766
   153
+++ uClibc/libc/sysdeps/linux/x86_64/sigaction.c	(working copy)
yann@766
   154
@@ -135,7 +135,7 @@
yann@766
   155
 
yann@766
   156
 #define RESTORE(name, syscall) RESTORE2 (name, syscall)
yann@766
   157
 # define RESTORE2(name, syscall) \
yann@766
   158
-asm						\
yann@766
   159
+__asm__						\
yann@766
   160
   (						\
yann@766
   161
    ".text\n" \
yann@766
   162
    "__" #name ":\n"				\
yann@766
   163
Index: uClibc/libc/sysdeps/linux/mips/sigaction.c
yann@766
   164
===================================================================
yann@766
   165
--- uClibc/libc/sysdeps/linux/mips/sigaction.c	(revision 23055)
yann@766
   166
+++ uClibc/libc/sysdeps/linux/mips/sigaction.c	(working copy)
yann@766
   167
@@ -140,7 +140,7 @@
yann@766
   168
 
yann@766
   169
 #define RESTORE(name, syscall) RESTORE2 (name, syscall)
yann@766
   170
 #define RESTORE2(name, syscall) \
yann@766
   171
-asm						\
yann@766
   172
+__asm__						\
yann@766
   173
   (						\
yann@766
   174
    ".align 4\n"					\
yann@766
   175
    "__" #name ":\n"				\