[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r17054 - in /fsf/trunk/libc: ./ csu/ nptl/ sysdeps/i386/fpu/ sysdeps/powerpc/powerpc32/ sysdeps/powerpc/powerpc64/ sysdeps/x...



Author: eglibc
Date: Thu Feb  9 00:02:06 2012
New Revision: 17054

Log:
Import glibc-mainline for 2012-02-09

Added:
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/crti.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/crtn.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/crti.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/crtn.S
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/config.h.in
    fsf/trunk/libc/config.make.in
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/csu/Makefile
    fsf/trunk/libc/csu/gmon-start.c
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/Makefile
    fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
    fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Feb  9 00:02:06 2012
@@ -1,3 +1,16 @@
+2012-02-08  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/i386/fpu/libm-test-ulps: Reduce ldouble ULPs for jn
+	tests.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
+	* Makeconfig (have-initfini): Don't set.
+	* config.make.in (have-initfini, need-nopic-initfini): Don't set.
+	* configure.in (nopic_initfini): Don't substitute.
+	* config.h.in (HAVE_INITFINI): Don't #undef.
+	* csu/Makefile (CPPFLAGS): Don't add -DHAVE_INITFINI.
+	* csu/gmon-start.c: Assume HAVE_INITFINI is defined.
+
 2012-02-08  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	Support crti.S and crtn.S provided directly by architectures.

Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Thu Feb  9 00:02:06 2012
@@ -389,9 +389,6 @@
 asm-CPPFLAGS =
 endif
 
-# ELF always supports init/fini sections
-have-initfini = yes
-
 ifeq ($(have-as-needed),yes)
 as-needed := -Wl,--as-needed
 no-as-needed := -Wl,--no-as-needed
@@ -405,14 +402,8 @@
 whole-archive = -Wl,--whole-archive
 
 # Installed name of the startup code.
-ifneq ($(have-initfini),yes)
-# When not having init/fini, there is just one startfile, called crt0.o.
-start-installed-name = crt0.o
-else
-# On systems having init/fini, crt0.o is called crt1.o, and there are
-# some additional bizarre files.
+# The ELF convention is that the startfile is called crt1.o
 start-installed-name = crt1.o
-endif
 # On systems that do not need a special startfile for statically linked
 # binaries, simply set it to the normal name.
 ifndef static-start-installed-name

Modified: fsf/trunk/libc/config.h.in
==============================================================================
--- fsf/trunk/libc/config.h.in (original)
+++ fsf/trunk/libc/config.h.in Thu Feb  9 00:02:06 2012
@@ -29,9 +29,6 @@
 /* Define to the assembler line separator character for multiple
    assembler instructions per line.  Default is `;'  */
 #undef ASM_LINE_SEP
-
-/* Define if not using ELF, but `.init' and `.fini' sections are available.  */
-#undef	HAVE_INITFINI
 
 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
 #undef  HAVE_SECTION_QUOTES

Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Thu Feb  9 00:02:06 2012
@@ -47,11 +47,9 @@
 
 have-z-combreloc = @libc_cv_z_combreloc@
 have-z-execstack = @libc_cv_z_execstack@
-have-initfini = @libc_cv_have_initfini@
 have-Bgroup = @libc_cv_Bgroup@
 have-as-needed = @libc_cv_as_needed@
 libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
-need-nopic-initfini = @nopic_initfini@
 with-fp = @with_fp@
 old-glibc-headers = @old_glibc_headers@
 unwind-find-fde = @libc_cv_gcc_unwind_find_fde@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Thu Feb  9 00:02:06 2012
@@ -609,7 +609,6 @@
 VERSION
 mach_interface_list
 DEFINES
-nopic_initfini
 static_nss
 profile
 libc_cv_pic_default
@@ -7672,7 +7671,6 @@
 
 
 
-
 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
   config_makefile=
 else

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Thu Feb  9 00:02:06 2012
@@ -2180,7 +2180,6 @@
 
 AC_SUBST(profile)
 AC_SUBST(static_nss)
-AC_SUBST(nopic_initfini)
 
 AC_SUBST(DEFINES)
 

Modified: fsf/trunk/libc/csu/Makefile
==============================================================================
--- fsf/trunk/libc/csu/Makefile (original)
+++ fsf/trunk/libc/csu/Makefile Thu Feb  9 00:02:06 2012
@@ -73,10 +73,6 @@
 before-compile += $(objpfx)abi-tag.h
 generated += abi-tag.h
 
-ifeq ($(have-initfini),yes)
-
-CPPFLAGS += -DHAVE_INITFINI
-
 # These are the special initializer/finalizer files.  They are always the
 # first and last file in the link.  crti.o ... crtn.o define the global
 # "functions" _init and _fini to run the .init and .fini sections.
@@ -126,8 +122,6 @@
 $(objpfx)defs.h: $(objpfx)initfini.s
 	sed -n -e '/@TESTS_BEGIN/,/@TESTS_END/p' $< | \
 		$(AWK) -f defs.awk > $@
-
-endif
 
 endif
 

Modified: fsf/trunk/libc/csu/gmon-start.c
==============================================================================
--- fsf/trunk/libc/csu/gmon-start.c (original)
+++ fsf/trunk/libc/csu/gmon-start.c Thu Feb  9 00:02:06 2012
@@ -1,5 +1,5 @@
 /* Code to enable profiling at program startup.
-   Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
+   Copyright (C) 1995,1996,1997,2000,2001,2002,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -43,23 +43,14 @@
 # endif
 #endif
 
-#ifndef HAVE_INITFINI
-/* This function gets called at startup by the normal constructor
-   mechanism.  We link this file together with start.o to produce gcrt1.o,
-   so this constructor will be first in the list.  */
-
-extern void __gmon_start__ (void) __attribute__ ((constructor));
-#else
-/* In ELF and COFF, we cannot use the normal constructor mechanism to call
+/* We cannot use the normal constructor mechanism to call
    __gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
-   Instead crti.o calls it specially (see initfini.c).  */
+   Instead crti.o calls it specially.  */
 extern void __gmon_start__ (void);
-#endif
 
 void
 __gmon_start__ (void)
 {
-#ifdef HAVE_INITFINI
   /* Protect from being called more than once.  Since crti.o is linked
      into every shared library, each of their init functions will call us.  */
   static int called;
@@ -68,7 +59,6 @@
     return;
 
   called = 1;
-#endif
 
   /* Start keeping profiling records.  */
   __monstartup ((u_long) TEXT_START, (u_long) &etext);

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Thu Feb  9 00:02:06 2012
@@ -1,3 +1,7 @@
+2012-02-08  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* Makefile (extra-objs) [crti.S in sysdirs]: Add pt-crti.o.
+
 2012-02-08  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	Support crti.S and crtn.S provided directly by architectures.

Modified: fsf/trunk/libc/nptl/Makefile
==============================================================================
--- fsf/trunk/libc/nptl/Makefile (original)
+++ fsf/trunk/libc/nptl/Makefile Thu Feb  9 00:02:06 2012
@@ -350,6 +350,8 @@
 omit-deps += crti crtn
 
 CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
+else
+extra-objs += pt-crti.o
 endif
 endif
 

Modified: fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/libm-test-ulps Thu Feb  9 00:02:06 2012
@@ -645,47 +645,45 @@
 ifloat: 1
 double: 1
 idouble: 1
-ldouble: 82
-ildouble: 82
+ldouble: 1
+ildouble: 1
 Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
-ldouble: 186
-ildouble: 186
+ldouble: 1
+ildouble: 1
 Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
-ldouble: 185
-ildouble: 185
+ldouble: 2
+ildouble: 2
 Test: "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
 float: 1
 ifloat: 1
 double: 1
 idouble: 1
-ldouble: 249
-ildouble: 249
+ldouble: 3
+ildouble: 3
 Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
 float: 2
 ifloat: 2
 double: 1
 idouble: 1
-ldouble: 511
-ildouble: 511
+ldouble: 1
+ildouble: 1
 Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
 float: 2
 ifloat: 2
 double: 1
 idouble: 1
-ldouble: 428
-ildouble: 428
 Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
 float: 3
 ifloat: 3
 double: 1
 idouble: 1
-ldouble: 609
-ildouble: 609
+ldouble: 2
+ildouble: 2
 Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
 float: 4
 ifloat: 4
-ldouble: 750
-ildouble: 750
+ldouble: 2
+ildouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1217,8 +1215,8 @@
 float: 4
 idouble: 5
 ifloat: 4
-ildouble: 750
-ldouble: 750
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc32/crti.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/crti.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/crti.S Thu Feb  9 00:02:06 2012
@@ -1,0 +1,90 @@
+/* Special .init and .fini section support for PowerPC.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* crti.S puts a function prologue at the beginning of the .init and
+   .fini sections and defines global symbols for those addresses, so
+   they can be called as functions.  The symbols _init and _fini are
+   magic and cause the linker to emit DT_INIT and DT_FINI.  */
+
+#include <libc-symbols.h>
+#include <sysdep.h>
+
+#ifndef PREINIT_FUNCTION
+# define PREINIT_FUNCTION __gmon_start__
+#endif
+
+#ifndef PREINIT_FUNCTION_WEAK
+# define PREINIT_FUNCTION_WEAK 1
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+	weak_extern (PREINIT_FUNCTION)
+#else
+	.hidden PREINIT_FUNCTION
+#endif
+
+	.section .init,"ax",@progbits
+	.align	2
+	.globl	_init
+	.type	_init, @function
+_init:
+	stwu r1, -16(r1)
+	mflr r0
+	stw r0, 20(r1)
+	stw r30, 8(r1)
+	SETUP_GOT_ACCESS (r30, .Lgot_label_i)
+	addis r30, r30, _GLOBAL_OFFSET_TABLE_-.Lgot_label_i@ha
+	addi r30, r30, _GLOBAL_OFFSET_TABLE_-.Lgot_label_i@l
+#if PREINIT_FUNCTION_WEAK
+	lwz r0, PREINIT_FUNCTION@got(r30)
+	cmpwi cr7, r0, 0
+	beq+ cr7, 1f
+	bl PREINIT_FUNCTION@plt
+1:
+#else
+	bl PREINIT_FUNCTION@local
+#endif
+
+	.section .fini,"ax",@progbits
+	.align	2
+	.globl	_fini
+	.type	_fini, @function
+_fini:
+	stwu r1, -16(r1)
+	mflr r0
+	stw r0, 20(r1)
+	stw r30, 8(r1)
+	SETUP_GOT_ACCESS (r30, .Lgot_label_f)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc32/crtn.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/crtn.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/crtn.S Thu Feb  9 00:02:06 2012
@@ -1,0 +1,54 @@
+/* Special .init and .fini section support for PowerPC.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+   corresponding to the prologues in crti.S. */
+
+#include <sysdep.h>
+
+	.section .init,"ax",@progbits
+	lwz r0, 20(r1)
+	mtlr r0
+	lwz r30, 8(r1)
+	addi r1, r1, 16
+	blr
+
+	.section .fini,"ax",@progbits
+	lwz r0, 20(r1)
+	mtlr r0
+	lwz r30, 8(r1)
+	addi r1, r1, 16
+	blr

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/crti.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/crti.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/crti.S Thu Feb  9 00:02:06 2012
@@ -1,0 +1,107 @@
+/* Special .init and .fini section support for PowerPC64.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* crti.S puts a function prologue at the beginning of the .init and
+   .fini sections and defines global symbols for those addresses, so
+   they can be called as functions.  The symbols _init and _fini are
+   magic and cause the linker to emit DT_INIT and DT_FINI.  */
+
+#include <libc-symbols.h>
+#include <sysdep.h>
+
+#ifndef PREINIT_FUNCTION
+# define PREINIT_FUNCTION __gmon_start__
+#endif
+
+#ifndef PREINIT_FUNCTION_WEAK
+# define PREINIT_FUNCTION_WEAK 1
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+	weak_extern (PREINIT_FUNCTION)
+#else
+	.hidden PREINIT_FUNCTION
+#endif
+
+#if PREINIT_FUNCTION_WEAK
+	.section ".toc", "aw"
+.LC0:
+	.tc PREINIT_FUNCTION[TC], PREINIT_FUNCTION
+#endif
+	.type BODY_LABEL (_init), @function
+	.globl _init
+	.section ".opd", "aw"
+	.align 3
+_init:	OPD_ENT (_init)
+#ifdef HAVE_ASM_GLOBAL_DOT_NAME
+	.globl BODY_LABEL (_init)
+	.size _init, 24
+#else
+	.type _init, @function
+#endif
+	.section ".init", "ax", @progbits
+	.align ALIGNARG (2)
+BODY_LABEL (_init):
+	mflr 0
+	std 0, 16(r1)
+	stdu r1, -112(r1)
+#if PREINIT_FUNCTION_WEAK
+	addis r9, r2, .LC0@toc@ha
+	ld r0, .LC0@toc@l(r9)
+	cmpdi cr7, r0, 0
+	beq+ cr7, 1f
+#endif
+	bl JUMPTARGET (PREINIT_FUNCTION)
+	nop
+1:
+
+	.type BODY_LABEL (_fini), @function
+	.globl _fini
+	.section ".opd", "aw"
+	.align 3
+_fini:	OPD_ENT (_fini)
+#ifdef HAVE_ASM_GLOBAL_DOT_NAME
+	.globl BODY_LABEL (_fini)
+	.size _fini, 24
+#else
+	.type _fini, @function
+#endif
+	.section ".fini", "ax", @progbits
+	.align ALIGNARG (2)
+BODY_LABEL (_fini):
+	mflr 0
+	std 0, 16(r1)
+	stdu r1, -112(r1)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/crtn.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/crtn.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/crtn.S Thu Feb  9 00:02:06 2012
@@ -1,0 +1,52 @@
+/* Special .init and .fini section support for PowerPC64.
+   Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   In addition to the permissions in the GNU Lesser General Public
+   License, the Free Software Foundation gives you unlimited
+   permission to link the compiled version of this file with other
+   programs, and to distribute those programs without any restriction
+   coming from the use of this file. (The GNU Lesser General Public
+   License restrictions do apply in other respects; for example, they
+   cover modification of the file, and distribution when not linked
+   into another program.)
+
+   Note that people who make modified versions of this file are not
+   obligated to grant this special exception for their modified
+   versions; it is their choice whether to do so. The GNU Lesser
+   General Public License gives permission to release a modified
+   version without this exception; this exception also makes it
+   possible to release a modified version which carries forward this
+   exception.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+   corresponding to the prologues in crti.S. */
+
+#include <sysdep.h>
+
+	.section .init,"ax",@progbits
+	addi r1, r1, 112
+	ld r0, 16(r1)
+	mtlr r0
+	blr
+
+	.section .fini,"ax",@progbits
+	addi r1, r1, 112
+	ld r0, 16(r1)
+	mtlr r0
+	blr

Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/libm-test-ulps Thu Feb  9 00:02:06 2012
@@ -671,8 +671,8 @@
 float: 1
 idouble: 2
 ifloat: 1
-ildouble: 82
-ldouble: 82
+ildouble: 1
+ldouble: 1
 Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
 ildouble: 1
 ldouble: 1
@@ -706,48 +706,46 @@
 Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
 double: 3
 idouble: 3
-ildouble: 186
-ldouble: 186
+ildouble: 1
+ldouble: 1
 Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
 double: 1
 idouble: 1
-ildouble: 185
-ldouble: 185
+ildouble: 2
+ldouble: 2
 Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-ildouble: 249
-ldouble: 249
+ildouble: 3
+ldouble: 3
 Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
 double: 4
 float: 3
 idouble: 4
 ifloat: 3
-ildouble: 511
-ldouble: 511
+ildouble: 1
+ldouble: 1
 Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
 double: 3
 float: 5
 idouble: 3
 ifloat: 5
-ildouble: 428
-ldouble: 428
 Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
-ildouble: 609
-ldouble: 609
+ildouble: 2
+ldouble: 2
 Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 750
-ldouble: 750
+ildouble: 2
+ldouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -1296,8 +1294,8 @@
 float: 5
 idouble: 4
 ifloat: 5
-ildouble: 750
-ldouble: 750
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits