rpms/glibc/devel glibc-rodata.patch, NONE, 1.1 glibc.spec, 1.210, 1.211

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Jan 9 23:28:12 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/glibc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv6863

Modified Files:
	glibc.spec 
Added Files:
	glibc-rodata.patch 
Log Message:
2.3.90-30


glibc-rodata.patch:
 dbl-64/e_exp2.c   |    8 +++-----
 flt-32/e_exp2f.c  |   13 +++----------
 flt-32/e_expf.c   |   13 +++----------
 flt-32/s_expm1f.c |   11 ++---------
 4 files changed, 11 insertions(+), 34 deletions(-)

--- NEW FILE glibc-rodata.patch ---
2006-01-09  Ulrich Drepper  <drepper at redhat.com>

	* sysdeps/ieee754/dbl-64/e_exp2.c: Remove section attribute from
	const variables, gas produces garbage.
	* sysdeps/ieee754/flt-32/e_exp2f.c: Likewise.
	* sysdeps/ieee754/flt-32/e_expf.c: Likewise.
	* sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.

--- libc/sysdeps/ieee754/dbl-64/e_exp2.c	21 Dec 2005 18:22:21 -0000	1.6
+++ libc/sysdeps/ieee754/dbl-64/e_exp2.c	9 Jan 2006 23:22:26 -0000	1.7
@@ -1,5 +1,5 @@
 /* Double-precision floating point 2^x.
-   Copyright (C) 1997, 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2001,2005,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk at ozemail.com.au>
 
@@ -42,10 +42,8 @@
    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;
+static const volatile double TWO1023 = 8.988465674311579539e+307;
+static const volatile double TWOM1000 = 9.3326361850321887899e-302;
 
 double
 __ieee754_exp2 (double x)
--- libc/sysdeps/ieee754/flt-32/e_exp2f.c	21 Dec 2005 18:24:24 -0000	1.6
+++ libc/sysdeps/ieee754/flt-32/e_exp2f.c	9 Jan 2006 23:20:48 -0000	1.7
@@ -1,5 +1,5 @@
 /* Single-precision floating point 2^x.
-   Copyright (C) 1997, 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2001,2005,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk at ozemail.com.au>
 
@@ -38,15 +38,8 @@
 
 #include "t_exp2f.h"
 
-/* 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;
+static const volatile float TWOM100 = 7.88860905e-31;
+static const volatile float TWO127 = 1.7014118346e+38;
 
 float
 __ieee754_exp2f (float x)
--- libc/sysdeps/ieee754/flt-32/e_expf.c	21 Dec 2005 18:25:23 -0000	1.5
+++ libc/sysdeps/ieee754/flt-32/e_expf.c	9 Jan 2006 23:19:22 -0000	1.6
@@ -1,5 +1,5 @@
 /* Single-precision floating point e^x.
-   Copyright (C) 1997, 1998, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Geoffrey Keating <geoffk at ozemail.com.au>
 
@@ -60,15 +60,8 @@
 extern const float __exp_deltatable[178];
 extern const double __exp_atable[355] /* __attribute__((mode(DF))) */;
 
-/* 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;
+static const volatile float TWOM100 = 7.88860905e-31;
+static const volatile float TWO127 = 1.7014118346e+38;
 
 float
 __ieee754_expf (float x)
--- libc/sysdeps/ieee754/flt-32/s_expm1f.c	21 Dec 2005 18:49:09 -0000	1.2
+++ libc/sysdeps/ieee754/flt-32/s_expm1f.c	9 Jan 2006 23:18:21 -0000	1.3
@@ -20,15 +20,8 @@ static char rcsid[] = "$NetBSD: s_expm1f
 #include "math.h"
 #include "math_private.h"
 
-/* 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 huge __attribute__ ((section (".rodata")))
-  = 1.0e+30;
-static const volatile float tiny __attribute__ ((section (".rodata")))
-  = 1.0e-30;
+static const volatile float huge = 1.0e+30;
+static const volatile float tiny = 1.0e-30;
 
 #ifdef __STDC__
 static const float


Index: glibc.spec
===================================================================
RCS file: /cvs/dist/rpms/glibc/devel/glibc.spec,v
retrieving revision 1.210
retrieving revision 1.211
diff -u -r1.210 -r1.211
--- glibc.spec	9 Jan 2006 22:33:25 -0000	1.210
+++ glibc.spec	9 Jan 2006 23:28:07 -0000	1.211
@@ -32,6 +32,7 @@
 Source3: %{glibcname}-fedora-%{glibcdate}.tar.bz2
 Patch0: %{glibcname}-fedora.patch
 Patch1: %{name}-ia64-lib64.patch
+Patch2: glibc-rodata.patch
 Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root
 Obsoletes: zoneinfo, libc-static, libc-devel, libc-profile, libc-headers,
 Obsoletes: gencat, locale, ldconfig, locale-ja, glibc-profile
@@ -238,6 +239,7 @@
 %patch1 -p1
 %endif
 %endif
+%patch2 -p1
 
 # Hack till glibc-kernheaders get updated, argh
 mkdir -p override_headers/linux
@@ -1140,7 +1142,7 @@
 - update from CVS
   - <pthread.h> initializer fixes for -std=c{8,9}9 on 32-bit
     arches
-  - 
+- avoid writable .rodata (#177121)
 
 * Fri Jan  6 2006 Jakub Jelinek <jakub at redhat.com> 2.3.90-29
 - update from CVS




More information about the fedora-cvs-commits mailing list