aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/flt-32/e_expf.c
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/flt-32/e_expf.c
parent2fdaad97bed9e099f09b5268edb1783254435e9d (diff)
downloadglibc-403a6325787939b65642bb7eb133088a8a23d4a6.tar
glibc-403a6325787939b65642bb7eb133088a8a23d4a6.tar.gz
glibc-403a6325787939b65642bb7eb133088a8a23d4a6.tar.bz2
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/flt-32/e_expf.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_expf.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sysdeps/ieee754/flt-32/e_expf.c b/sysdeps/ieee754/flt-32/e_expf.c
index 62448a9554..b3e458c3da 100644
--- a/sysdeps/ieee754/flt-32/e_expf.c
+++ b/sysdeps/ieee754/flt-32/e_expf.c
@@ -1,5 +1,5 @@
/* Single-precision floating point e^x.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Geoffrey Keating <geoffk@ozemail.com.au>
@@ -60,8 +60,15 @@
extern const float __exp_deltatable[178];
extern const double __exp_atable[355] /* __attribute__((mode(DF))) */;
-static const volatile float TWOM100 = 7.88860905e-31;
-static const volatile float TWO127 = 1.7014118346e+38;
+/* 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.cst4 so that it can be merged, but gcc sucks, it ICEs when
+ we try to force this section on it. --drepper */
+static const volatile float TWOM100 __attribute__ ((section (".rodata")))
+ = 7.88860905e-31;
+static const volatile float TWO127 __attribute__ ((section (".rodata")))
+ = 1.7014118346e+38;
float
__ieee754_expf (float x)