about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-12-21 19:12:22 +0000
committerUlrich Drepper <drepper@redhat.com>2005-12-21 19:12:22 +0000
commit403a6325787939b65642bb7eb133088a8a23d4a6 (patch)
tree6d5b388ef9fa31d1930221e388a96e4970f65ad5 /sysdeps/ieee754/dbl-64
parent2fdaad97bed9e099f09b5268edb1783254435e9d (diff)
downloadglibc-403a6325787939b65642bb7eb133088a8a23d4a6.tar.gz
glibc-403a6325787939b65642bb7eb133088a8a23d4a6.tar.xz
glibc-403a6325787939b65642bb7eb133088a8a23d4a6.zip
* sysdeps/ieee754/dbl-64/halfulp.c: Mark tab54 as static and const.
	* sysdeps/i386/fpu/e_expl.c: Mark c0 and c1 as const.
	* sysdeps/ieee754/flt-32/s_expm1f.c: Make sure huge and tiny end
	up in .rodata.
	* sysdeps/ieee754/flt-32/e_exp2f.c: Make sure TWO127 and TWOM100
	end up in .rodata.
	* sysdeps/ieee754/flt-32/e_expf.c: Likewise.
	* sysdeps/ieee754/dbl-64/e_exp2.c: Make sure TWO1023 and TWOM1000
	end up in .rodata.
Diffstat (limited to 'sysdeps/ieee754/dbl-64')
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp2.c13
-rw-r--r--sysdeps/ieee754/dbl-64/halfulp.c4
2 files changed, 12 insertions, 5 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c
index 397acd182c..b7ed7398a3 100644
--- a/sysdeps/ieee754/dbl-64/e_exp2.c
+++ b/sysdeps/ieee754/dbl-64/e_exp2.c
@@ -1,5 +1,5 @@
 /* Double-precision floating point 2^x.
-   Copyright (C) 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
 
@@ -37,8 +37,15 @@
 
 #include "t_exp2.h"
 
-static const volatile double TWO1023 = 8.988465674311579539e+307;
-static const volatile double TWOM1000 = 9.3326361850321887899e-302;
+/* XXX I know the assembler generates a warning about incorrect section
+   attributes. But without the attribute here the compiler places the
+   constants in the .data section.  Ideally the constant is placed in
+   .rodata.cst8 so that it can be merged, but gcc sucks, it ICEs when
+   we try to force this section on it.  --drepper  */
+static const volatile double TWO1023 __attribute__ ((section (".rodata")))
+  = 8.988465674311579539e+307;
+static const volatile double TWOM1000 __attribute__ ((section (".rodata")))
+  = 9.3326361850321887899e-302;
 
 double
 __ieee754_exp2 (double x)
diff --git a/sysdeps/ieee754/dbl-64/halfulp.c b/sysdeps/ieee754/dbl-64/halfulp.c
index 9e1111b8db..478a4bacf6 100644
--- a/sysdeps/ieee754/dbl-64/halfulp.c
+++ b/sysdeps/ieee754/dbl-64/halfulp.c
@@ -1,7 +1,7 @@
 /*
  * IBM Accurate Mathematical Library
  * written by International Business Machines Corp.
- * Copyright (C) 2001 Free Software Foundation
+ * Copyright (C) 2001, 2005 Free Software Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -42,7 +42,7 @@
 
 double __ieee754_sqrt(double x);
 
-int4 tab54[32] = {
+static const int4 tab54[32] = {
    262143, 11585, 1782, 511, 210, 107, 63, 42,
        30,    22,   17,  14,  12,  10,  9,  7,
         7,     6,    5,   5,   5,   4,  4,  4,