aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/crtfastmath.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe4963f..f44264b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-03 David S. Miller <davem@redhat.com>
+
+ * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
+ little-endian.
+ (set_fast_math): Correct 'fsr' type.
+
2002-04-03 Richard Henderson <rth@redhat.com>
PR opt/3569
diff --git a/gcc/config/sparc/crtfastmath.c b/gcc/config/sparc/crtfastmath.c
index a0824a1..d0100d7 100644
--- a/gcc/config/sparc/crtfastmath.c
+++ b/gcc/config/sparc/crtfastmath.c
@@ -32,12 +32,16 @@
* the executable file might be covered by the GNU General Public License.
*/
+#if defined (__LITTLE_ENDIAN__) || defined(__LITTLE_ENDIAN_DATA__)
+#define FPRS_NS (1 << 14) /* Non-Standard fpu results */
+#else
#define FPRS_NS (1 << 22) /* Non-Standard fpu results */
+#endif
static void __attribute__((constructor))
set_fast_math (void)
{
- unsigned long fsr;
+ unsigned int fsr;
/* This works for the 64-bit case because, even if 32-bit ld/st of
the fsr register modified the upper 32-bit, the only thing up there