This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.15-173-ge3b69ca


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  e3b69ca7d173878ef783e7006e12aa568b94439e (commit)
      from  fb59b3a4f54777652dc877a1df0fcc009b741d87 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e3b69ca7d173878ef783e7006e12aa568b94439e

commit e3b69ca7d173878ef783e7006e12aa568b94439e
Author: Richard Henderson <rth@twiddle.net>
Date:   Wed Feb 15 19:58:28 2012 -0800

    s390: Convert to crt[in].S.

diff --git a/ChangeLog b/ChangeLog
index 08460a5..58d02d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-16  Richard Henderson  <rth@redhat.com>
+
+	* sysdeps/s390/s390-32/crti.S, sysdeps/s390/s390-32/crtn.S: New files.
+	* sysdeps/s390/s390-32/initfini.c: Remove.
+	* sysdeps/s390/s390-64/crti.S, sysdeps/s390/s390-64/crtn.S:
+	* sysdeps/s390/s390-64/initfini.c: Remove.
+
 2012-02-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* sysdeps/sh/crti.S, sysdeps/sh/crtn.S: New files, based on
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 7dee1ad..b8e1e4a 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-16  Richard Henderson  <rth@twiddle.net>
+
+	* nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c: Remove file.
+	* nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c: Remove file.
+
 2012-02-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: Remove file.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
deleted file mode 100644
index 7b6daee..0000000
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Special .init and .fini section support for S/390.
-   Copyright (C) 2003, 2009 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 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.)
-
-   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; see the file COPYING.LIB.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * 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.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _init\n\
-	.type	 _init,@function\n\
-_init:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         36\n\
-	STM	6,15,24(15)\n\
-	BRAS	13,.LTN1_0\n\
-.LT1_0:\n\
-.LC13:\n\
-	.long	__pthread_initialize_minimal_internal-.LT1_0\n\
-.LC15:\n\
-	.long	_GLOBAL_OFFSET_TABLE_-.LT1_0\n\
-.LTN1_0:\n\
-	LR	1,15\n\
-	AHI	15,-96\n\
-	ST	1,0(15)\n\
-	L	12,.LC15-.LT1_0(13)\n\
-	AR	12,13\n\
-	L     1,.LC13-.LT1_0(13)\n\
-	LA    1,0(1,13)\n\
-	BASR  14,1\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-	L	4,152(15)\n\
-	LM	6,15,120(15)\n\
-	BR	4\n\
-#APP\n\
-	END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _fini\n\
-	.type	 _fini,@function\n\
-_fini:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         30\n\
-	STM	6,15,24(15)\n\
-	BRAS	13,.LTN2_0\n\
-.LT2_0:\n\
-.LC17:\n\
-	.long	_GLOBAL_OFFSET_TABLE_-.LT2_0\n\
-.LTN2_0:\n\
-	LR	1,15\n\
-	AHI	15,-96\n\
-	ST	1,0(15)\n\
-	L	12,.LC17-.LT2_0(13)\n\
-	AR	12,13\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-	L	4,152(15)\n\
-	LM	6,15,120(15)\n\
-	BR	4\n\
-#APP\n\
-	END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\
-");
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
deleted file mode 100644
index a77ae43..0000000
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Special .init and .fini section support for 64 bit S/390.
-   Copyright (C) 2003, 2009 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 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.)
-
-   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; see the file COPYING.LIB.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * 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.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _init\n\
-	.type	 _init,@function\n\
-_init:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         36\n\
-	STMG	6,15,48(15)\n\
-	LGR	1,15\n\
-	AGHI	15,-160\n\
-	STG	1,0(15)\n\
-	LARL	12,_GLOBAL_OFFSET_TABLE_\n\
-	BRASL	14,__pthread_initialize_minimal_internal\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-	LG	4,272(15)\n\
-	LMG	6,15,208(15)\n\
-	BR	4\n\
-#APP\n\
-	END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _fini\n\
-	.type	 _fini,@function\n\
-_fini:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         30\n\
-	STMG	6,15,48(15)\n\
-	LGR	1,15\n\
-	AGHI	15,-160\n\
-	STG	1,0(15)\n\
-	LARL	12,_GLOBAL_OFFSET_TABLE_\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-	LG	4,272(15)\n\
-	LMG	6,15,208(15)\n\
-	BR	4\n\
-#APP\n\
-	END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\n\
-	");
diff --git a/sysdeps/s390/s390-32/crti.S b/sysdeps/s390/s390-32/crti.S
new file mode 100644
index 0000000..df5855a
--- /dev/null
+++ b/sysdeps/s390/s390-32/crti.S
@@ -0,0 +1,102 @@
+/* Special .init and .fini section support for S/390.
+   Copyright (C) 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
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* 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
+	.globl	_init
+	.type	_init,@function
+	.align	4
+_init:
+	stm	%r6,%r15,24(%r15)
+	bras	%r13,1f
+0:
+#if PREINIT_FUNCTION_WEAK
+	.long	PREINIT_FUNCTION@GOT
+#else
+	.long	PREINIT_FUNCTION-0b
+#endif
+	.long	_GLOBAL_OFFSET_TABLE_-0b
+1:	lr	%r1,%r15
+	ahi	%r15,-96
+	st	%r1,0(%r15)
+	l	%r12,4(%r13)
+	ar	%r12,%r13
+	l	%r1,0(%r13)
+#if PREINIT_FUNCTION_WEAK
+	l	%r1,0(%r1,%r12)
+	ltr	%r1,%r1
+	je	2f
+#else
+	la	%r1,0(%r1,%r13)
+#endif
+	basr	%r14,%r1
+	.align	4,0x07
+2:
+
+	.section .fini,"ax",@progbits
+	.globl	_fini
+	.type	_fini,@function
+	.align	4
+_fini:
+	stm	%r6,%r15,24(%r15)
+	bras	%r13,1f
+0:	.long	_GLOBAL_OFFSET_TABLE_-0b
+1:	lr	%r1,%r15
+	ahi	%r15,-96
+	st	%r1,0(%r15)
+	l	%r12,0(%r13)
+	ar	%r12,%r13
+	.align	4,0x07
diff --git a/sysdeps/s390/s390-32/crtn.S b/sysdeps/s390/s390-32/crtn.S
new file mode 100644
index 0000000..1147636
--- /dev/null
+++ b/sysdeps/s390/s390-32/crtn.S
@@ -0,0 +1,47 @@
+/* Special .init and .fini section support for S/390.
+   Copyright (C) 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
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+   corresponding to the prologues in crti.S. */
+
+	.section .init,"ax",@progbits
+	l	%r4,152(%r15)
+	lm	%r6,%r15,120(%r15)
+	br	%r4
+
+	.section .fini,"ax",@progbits
+	l	%r4,152(%r15)
+	lm	%r6,%r15,120(%r15)
+	br	%r4
diff --git a/sysdeps/s390/s390-32/initfini.c b/sysdeps/s390/s390-32/initfini.c
deleted file mode 100644
index ed6b34e..0000000
--- a/sysdeps/s390/s390-32/initfini.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Special .init and .fini section support for S/390.
-   Copyright (C) 2000, 2001, 2002 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * 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.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _init\n\
-	.type	 _init,@function\n\
-_init:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         36\n\
-	STM	6,15,24(15)\n\
-	BRAS	13,.LTN1_0\n\
-.LT1_0:\n\
-.LC14:\n\
-	.long	__gmon_start__@GOT\n\
-.LC15:\n\
-	.long	_GLOBAL_OFFSET_TABLE_-.LT1_0\n\
-.LTN1_0:\n\
-	LR	1,15\n\
-	AHI	15,-96\n\
-	ST	1,0(15)\n\
-	L	12,.LC15-.LT1_0(13)\n\
-	AR	12,13\n\
-	L     1,.LC14-.LT1_0(13)\n\
-	L     1,0(1,12)\n\
-	LTR   1,1\n\
-	JE    .L22\n\
-	BASR  14,1\n\
-.L22:\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-	L	4,152(15)\n\
-	LM	6,15,120(15)\n\
-	BR	4\n\
-#APP\n\
-	END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _fini\n\
-	.type	 _fini,@function\n\
-_fini:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         30\n\
-	STM	6,15,24(15)\n\
-	BRAS	13,.LTN2_0\n\
-.LT2_0:\n\
-.LC17:\n\
-	.long	_GLOBAL_OFFSET_TABLE_-.LT2_0\n\
-.LTN2_0:\n\
-	LR	1,15\n\
-	AHI	15,-96\n\
-	ST	1,0(15)\n\
-	L	12,.LC17-.LT2_0(13)\n\
-	AR	12,13\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-	L	4,152(15)\n\
-	LM	6,15,120(15)\n\
-	BR	4\n\
-#APP\n\
-	END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\
-");
diff --git a/sysdeps/s390/s390-64/crti.S b/sysdeps/s390/s390-64/crti.S
new file mode 100644
index 0000000..7605f2d
--- /dev/null
+++ b/sysdeps/s390/s390-64/crti.S
@@ -0,0 +1,91 @@
+/* Special .init and .fini section support for 64 bit S/390.
+   Copyright (C) 2001, 2012 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* 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 4
+	.globl	_init
+	.type	_init,@function
+_init:
+	stmg	%r6,%r15,48(%r15)
+	lgr	%r1,%r15
+	aghi	%r15,-160
+	stg	%r1,0(%r15)
+	larl	%r12,_GLOBAL_OFFSET_TABLE_
+#if PREINIT_FUNCTION_WEAK
+	larl	%r1,PREINIT_FUNCTION@GOTENT
+	lg	%r1,0(%r1)
+	ltgr	%r1,%r1
+	je	1f
+	basr	%r14,%r1
+#else
+	brasl	%r14,PREINIT_FUNCTION
+#endif
+	.align	4,0x07
+1:
+
+	.section .fini,"ax",@progbits
+	.align 4
+	.globl	_fini
+	.type	_fini,@function
+_fini:
+	stmg	%r6,%r15,48(%r15)
+	lgr	%r1,%r15
+	aghi	%r15,-160
+	stg	%r1,0(%r15)
+	larl	%r12,_GLOBAL_OFFSET_TABLE_
+	.align	4,0x07
diff --git a/sysdeps/s390/s390-64/crtn.S b/sysdeps/s390/s390-64/crtn.S
new file mode 100644
index 0000000..bf72d56
--- /dev/null
+++ b/sysdeps/s390/s390-64/crtn.S
@@ -0,0 +1,50 @@
+/* Special .init and .fini section support for 64 bit S/390.
+   Copyright (C) 2001, 2012 Free Software Foundation, Inc.
+   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+   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, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* crtn.S puts function epilogues in the .init and .fini sections
+   corresponding to the prologues in crti.S. */
+
+	.section .init
+	.align	4
+	lg	%r4,272(%r15)
+	lmg	%r6,%r15,208(%r15)
+	br	%r4
+
+	.section .fini
+	.align	4
+	lg	%r4,272(%r15)
+	lmg	%r6,%r15,208(%r15)
+	br	%r4
diff --git a/sysdeps/s390/s390-64/initfini.c b/sysdeps/s390/s390-64/initfini.c
deleted file mode 100644
index fe448de..0000000
--- a/sysdeps/s390/s390-64/initfini.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Special .init and .fini section support for 64 bit S/390.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file is compiled into assembly code which is then munged by a sed
-   script into two files: crti.s and crtn.s.
-
-   * 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.
-
-   * crtn.s puts the corresponding function epilogues
-   in the .init and .fini sections. */
-
-__asm__ ("\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _init\n\
-	.type	 _init,@function\n\
-_init:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         36\n\
-	STMG	6,15,48(15)\n\
-	LGR	1,15\n\
-	AGHI	15,-160\n\
-	STG	1,0(15)\n\
-        LARL    12,_GLOBAL_OFFSET_TABLE_\n\
-	LARL    1,__gmon_start__@GOTENT\n\
-	LG      1,0(1)\n\
-	LTGR    1,1\n\
-	JE      .L22\n\
-	BASR    14,1\n\
-.L22:\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .init\n\
-#NO_APP\n\
-	.align 4\n\
-	LG	4,272(15)\n\
-	LMG	6,15,208(15)\n\
-	BR	4\n\
-#APP\n\
-	END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-.globl _fini\n\
-	.type	 _fini,@function\n\
-_fini:\n\
-#	leaf function           0\n\
-#	automatics              0\n\
-#	outgoing args           0\n\
-#	need frame pointer      0\n\
-#	call alloca             0\n\
-#	has varargs             0\n\
-#	incoming args (stack)   0\n\
-#	function length         30\n\
-	STMG	6,15,48(15)\n\
-	LGR	1,15\n\
-	AGHI	15,-160\n\
-	STG	1,0(15)\n\
-	LARL	12,_GLOBAL_OFFSET_TABLE_\n\
-#APP\n\
-	.align 4,0x07\n\
-	END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.align 4\n\
-	.section .fini\n\
-#NO_APP\n\
-	.align 4\n\
-	LG	4,272(15)\n\
-	LMG	6,15,208(15)\n\
-	BR	4\n\
-#APP\n\
-	END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-	/*@TRAILER_BEGINS*/\
-");

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    7 +
 nptl/ChangeLog                                     |    5 +
 .../unix/sysv/linux/s390/s390-32/pt-initfini.c     |  145 ------------------
 .../unix/sysv/linux/s390/s390-64/pt-initfini.c     |  129 ----------------
 sysdeps/s390/s390-32/crti.S                        |  102 +++++++++++++
 sysdeps/s390/s390-32/crtn.S                        |   47 ++++++
 sysdeps/s390/s390-32/initfini.c                    |  156 --------------------
 sysdeps/s390/s390-64/crti.S                        |   91 ++++++++++++
 sysdeps/s390/s390-64/crtn.S                        |   50 +++++++
 sysdeps/s390/s390-64/initfini.c                    |  143 ------------------
 10 files changed, 302 insertions(+), 573 deletions(-)
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
 create mode 100644 sysdeps/s390/s390-32/crti.S
 create mode 100644 sysdeps/s390/s390-32/crtn.S
 delete mode 100644 sysdeps/s390/s390-32/initfini.c
 create mode 100644 sysdeps/s390/s390-64/crti.S
 create mode 100644 sysdeps/s390/s390-64/crtn.S
 delete mode 100644 sysdeps/s390/s390-64/initfini.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]