patches/glibc/2.3.2/glibc-2.3.2-pr139-fix.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
     1 2004-04-29  Jakub Jelinek  <jakub@redhat.com>
     2 
     3 	* sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c (_Qp_qtoi): Use %f31
     4 	for single precision register, add it to __asm clobbers [BZ #139].
     5 	* sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c (_Qp_qtoui): Use %f31
     6 	for single precision register, add it to __asm clobbers.
     7 	* sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c (_Qp_qtoux): Use fqtox
     8 	instead of fqtoi in QP_HANDLE_EXCEPTIONS.
     9 	* sysdeps/sparc/sparc64/soft-fp/qp_qtox.c (_Qp_qtox): Likewise.
    10 	Reported by M. H. VanLeeuwen <vanl@megsinet.net>.
    11 
    12 See http://sources.redhat.com/bugzilla/show_bug.cgi?id=139
    13 Fixes error
    14 qp_qtoi.s:261: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
    15 plus a couple other things vanl noticed.
    16 
    17 diff -ur orig/qp_qtoi.c new/qp_qtoi.c
    18 --- orig/qp_qtoi.c	Sat May  1 00:40:06 2004
    19 +++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c	Sat May  1 00:39:40 2004
    20 @@ -1,6 +1,6 @@
    21  /* Software floating-point emulation.
    22     Return (int)(*a)
    23 -   Copyright (C) 1997,1999 Free Software Foundation, Inc.
    24 +   Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
    25     This file is part of the GNU C Library.
    26     Contributed by Richard Henderson (rth@cygnus.com) and
    27  		  Jakub Jelinek (jj@ultra.linux.cz).
    28 @@ -38,9 +38,9 @@
    29    	__asm (
    30  "	ldd [%1], %%f52\n"
    31  "	ldd [%1+8], %%f54\n"
    32 -"	fqtoi %%f52, %%f60\n"
    33 -"	st %%f60, [%0]\n"
    34 -"	" : : "r" (&rx), "r" (a) : QP_CLOBBER);
    35 +"	fqtoi %%f52, %%f31\n"
    36 +"	st %%f31, [%0]\n"
    37 +"	" : : "r" (&rx), "r" (a) : QP_CLOBBER, "f31");
    38  	r = rx);
    39  
    40    return r;
    41 diff -ur orig/qp_qtoui.c new/qp_qtoui.c
    42 --- orig/qp_qtoui.c	Sat May  1 00:40:06 2004
    43 +++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c	Sat May  1 00:39:40 2004
    44 @@ -1,6 +1,6 @@
    45  /* Software floating-point emulation.
    46     Return (unsigned int)(*a)
    47 -   Copyright (C) 1997,1999 Free Software Foundation, Inc.
    48 +   Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
    49     This file is part of the GNU C Library.
    50     Contributed by Richard Henderson (rth@cygnus.com) and
    51  		  Jakub Jelinek (jj@ultra.linux.cz).
    52 @@ -38,9 +38,9 @@
    53    	__asm (
    54  "	ldd [%1], %%f52\n"
    55  "	ldd [%1+8], %%f54\n"
    56 -"	fqtoi %%f52, %%f60\n"
    57 -"	st %%f60, [%0]\n"
    58 -"	" : : "r" (&rx), "r" (a) : QP_CLOBBER);
    59 +"	fqtoi %%f52, %%f31\n"
    60 +"	st %%f31, [%0]\n"
    61 +"	" : : "r" (&rx), "r" (a) : QP_CLOBBER, "f31");
    62  	r = rx);
    63  
    64    return r;
    65 diff -ur orig/qp_qtoux.c new/qp_qtoux.c
    66 --- orig/qp_qtoux.c	Sat May  1 00:40:06 2004
    67 +++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c	Sat May  1 00:39:40 2004
    68 @@ -1,6 +1,6 @@
    69  /* Software floating-point emulation.
    70     Return (unsigned long)(*a)
    71 -   Copyright (C) 1997,1999 Free Software Foundation, Inc.
    72 +   Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
    73     This file is part of the GNU C Library.
    74     Contributed by Richard Henderson (rth@cygnus.com) and
    75  		  Jakub Jelinek (jj@ultra.linux.cz).
    76 @@ -38,7 +38,7 @@
    77    	__asm (
    78  "	ldd [%1], %%f52\n"
    79  "	ldd [%1+8], %%f54\n"
    80 -"	fqtoi %%f52, %%f60\n"
    81 +"	fqtox %%f52, %%f60\n"
    82  "	std %%f60, [%0]\n"
    83  "	" : : "r" (&rx), "r" (a) : QP_CLOBBER);
    84  	r = rx);
    85 diff -ur orig/qp_qtox.c new/qp_qtox.c
    86 --- orig/qp_qtox.c	Sat May  1 00:40:06 2004
    87 +++ libc/sysdeps/sparc/sparc64/soft-fp/qp_qtox.c	Sat May  1 00:39:40 2004
    88 @@ -1,6 +1,6 @@
    89  /* Software floating-point emulation.
    90     Return (long)(*a)
    91 -   Copyright (C) 1997,1999 Free Software Foundation, Inc.
    92 +   Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc.
    93     This file is part of the GNU C Library.
    94     Contributed by Richard Henderson (rth@cygnus.com) and
    95  		  Jakub Jelinek (jj@ultra.linux.cz).
    96 @@ -38,7 +38,7 @@
    97    	__asm (
    98  "	ldd [%1], %%f52\n"
    99  "	ldd [%1+8], %%f54\n"
   100 -"	fqtoi %%f52, %%f60\n"
   101 +"	fqtox %%f52, %%f60\n"
   102  "	std %%f60, [%0]\n"
   103  "	" : : "r" (&rx), "r" (a) : QP_CLOBBER);
   104  	r = rx);