From 403a6325787939b65642bb7eb133088a8a23d4a6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 21 Dec 2005 19:12:22 +0000 Subject: * 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. --- sysdeps/ieee754/dbl-64/e_exp2.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'sysdeps/ieee754/dbl-64/e_exp2.c') 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 @@ -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) -- cgit 1.4.1