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-171-gaf1dd5d


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  af1dd5d680f6c454382771334de2c05456418f49 (commit)
       via  df83af673b1597bb6b96c855658931b989ec1551 (commit)
      from  d2c736f809690dd69f1cade53a61b99e401bb0e3 (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=af1dd5d680f6c454382771334de2c05456418f49

commit af1dd5d680f6c454382771334de2c05456418f49
Merge: df83af6 d2c736f
Author: Kaz Kojima <kkojima@rr.iij4u.or.jp>
Date:   Thu Feb 16 07:21:37 2012 +0900

    Merge branch 'master' of git://sources.redhat.com/git/glibc


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

commit df83af673b1597bb6b96c855658931b989ec1551
Author: Kaz Kojima <kkojima@rr.iij4u.or.jp>
Date:   Thu Feb 16 07:17:24 2012 +0900

    Add SH target specific crti.S and crtn.S and remove initfini files.
    
    Add sysdeps/sh/crti.S, sysdeps/sh/crtn.S and remove sysdeps/sh/elf/initfini.c
    and nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c.

diff --git a/ChangeLog b/ChangeLog
index 131caa6..e153fa5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/crti.S, sysdeps/sh/crtn.S: New files, based on
+	compiler output for sysdeps/generic/initfini.c.
+	* sysdeps/sh/elf/initfini.c: Remove file.
+
 2012-02-16  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/sparc/Makefile: Add -fPIC when building crt{i,n}.S
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index bda2334..7dee1ad 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/pt-initfini.c: Remove file.
+
 2012-02-16  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/sparc/Makefile: Add -fPIC when building pt-crti.S and crtn.S
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c b/nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c
deleted file mode 100644
index 5e9e707..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Special .init and .fini section support for SH.  NPTL version.
-   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 Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   In addition to the permissions in the GNU Library 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 Library 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 Library General Public License for more details.
-
-   You should have received a copy of the GNU Library 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\
-\n\
-#include \"defs.h\"\n\
-\n\
-/*@HEADER_ENDS*/\n\
-\n\
-/*@TESTS_BEGIN*/\n\
-\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-	.section .init\n\
-	.align 5\n\
-	.global	_init\n\
-	.type	_init,@function\n\
-_init:\n\
-	mov.l	r12,@-r15\n\
-	mov.l	r14,@-r15\n\
-	sts.l	pr,@-r15\n\
-	mova	.L22,r0\n\
-	mov.l	.L22,r12\n\
-	add	r0,r12\n\
-	mova	.L24,r0\n\
-	mov.l	.L24,r1\n\
-	add	r0,r1\n\
-	jsr	@r1\n\
-	 mov	r15,r14\n\
-	bra	1f\n\
-	 nop\n\
-	.align 2\n\
-.L22:\n\
-	.long	_GLOBAL_OFFSET_TABLE_\n\
-.L24:\n\
-	.long	__pthread_initialize_minimal_internal@PLT\n\
-1:\n\
-	ALIGN\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.section .init\n\
-	mov	r14,r15\n\
-	lds.l	@r15+,pr\n\
-	mov.l	@r15+,r14\n\
-	rts	\n\
-	mov.l	@r15+,r12\n\
-	END_INIT\n\
-	\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section .fini\n\
-	.align 5\n\
-	.global	_fini\n\
-	.type	_fini,@function\n\
-_fini:\n\
-	mov.l	r12,@-r15\n\
-	mov.l	r14,@-r15\n\
-	sts.l	pr,@-r15\n\
-	mova	.L27,r0\n\
-	mov.l	.L27,r12\n\
-	add	r0,r12\n\
-	mov	r15,r14\n\
-	ALIGN\n\
-	END_FINI\n\
-	bra	1f\n\
-	 nop\n\
-	.align	2\n\
-.L27:\n\
-	.long	_GLOBAL_OFFSET_TABLE_\n\
-1:\n\
-/*@_fini_PROLOG_ENDS*/\n\
-\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.section .fini\n\
-	mov	r14,r15\n\
-	lds.l	@r15+,pr\n\
-	mov.l	@r15+,r14\n\
-	rts	\n\
-	mov.l	@r15+,r12\n\
-\n\
-	END_FINI\n\
-	\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\n\
-");
diff --git a/sysdeps/sh/crti.S b/sysdeps/sh/crti.S
new file mode 100644
index 0000000..62b6c1c
--- /dev/null
+++ b/sysdeps/sh/crti.S
@@ -0,0 +1,121 @@
+/* Special .init and .fini section support for SH.
+   Copyright (C) 2000-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 5
+	.global	_init
+	.type	_init, @function
+_init:
+	mov.l	r12,@-r15
+	mova	.L12,r0
+	mov.l	.L12,r12
+	mov.l	r14,@-r15
+	add	r0,r12
+	sts.l	pr,@-r15
+#if PREINIT_FUNCTION_WEAK
+	mov.l	.L13,r0
+	mov.l	@(r0,r12),r1
+	tst	r1,r1
+	bt/s	.L8
+	mov	r15,r14
+	mov.l	.L14,r1
+	bsrf	r1
+.LPCS0:
+	nop
+.L8:
+#else
+	mova    .L13,r0
+	mov.l	.L13,r1
+	add	r0,r1
+	jsr	@r1
+	mov    r15,r14
+#endif
+	bra	1f
+	nop
+	.align 2
+.L12:
+	.long	_GLOBAL_OFFSET_TABLE_
+#if PREINIT_FUNCTION_WEAK
+.L13:
+	.long	PREINIT_FUNCTION@GOT
+.L14:
+	.long	PREINIT_FUNCTION@PLT-(.LPCS0+2-(.))
+#else
+.L13:
+	.long	PREINIT_FUNCTION@PLT
+#endif
+1:
+
+	.section	.fini,"ax",@progbits
+	.align 5
+	.global	_fini
+	.type	_fini, @function
+_fini:
+	mov.l	r12,@-r15
+	mova	.L19,r0
+	mov.l	r14,@-r15
+	sts.l	pr,@-r15
+	mov.l	.L19,r12
+	mov	r15,r14
+	add	r0,r12
+	bra	0f
+	nop
+	.align 2
+.L19:
+	.long	_GLOBAL_OFFSET_TABLE_
+0:
diff --git a/sysdeps/sh/crtn.S b/sysdeps/sh/crtn.S
new file mode 100644
index 0000000..1b52770
--- /dev/null
+++ b/sysdeps/sh/crtn.S
@@ -0,0 +1,54 @@
+/* Special .init and .fini section support for SH.
+   Copyright (C) 2000-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. */
+
+	.section .init,"ax",@progbits
+	mov	r14,r15
+	lds.l	@r15+,pr
+	mov.l	@r15+,r14
+	mov.l	@r15+,r12
+	rts
+	nop
+
+	.section .fini,"ax",@progbits
+	mov	r14,r15
+	lds.l	@r15+,pr
+	mov.l	@r15+,r14
+	mov.l	@r15+,r12
+	rts
+	nop
diff --git a/sysdeps/sh/elf/initfini.c b/sysdeps/sh/elf/initfini.c
deleted file mode 100644
index 442ebcb..0000000
--- a/sysdeps/sh/elf/initfini.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/* Special .init and .fini section support for SH.
-   Copyright (C) 2000, 2002, 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 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\
-	.align 5\n\
-/*@TESTS_END*/\n\
-\n\
-/*@_init_PROLOG_BEGINS*/\n\
-	.section	.init,\"ax\",@progbits\n\
-	.align 5\n\
-	.global	_init\n\
-	.type	_init, @function\n\
-_init:\n\
-	mov.l	r12,@-r15\n\
-	mova	.L12,r0\n\
-	mov.l	.L12,r12\n\
-	mov.l	r14,@-r15\n\
-	add	r0,r12\n\
-	mov.l	.L13,r0\n\
-	sts.l	pr,@-r15\n\
-	mov.l	@(r0,r12),r1\n\
-	tst	r1,r1\n\
-	bt/s	.L8\n\
-	mov	r15,r14\n\
-	mov.l	.L14,r1\n\
-	bsrf	r1\n\
-.LPCS0:\n\
-	nop\n\
-.L8:\n\
-	bra	1f\n\
-	nop\n\
-	.align 2\n\
-.L12:\n\
-	.long	_GLOBAL_OFFSET_TABLE_\n\
-.L13:\n\
-	.long	__gmon_start__@GOT\n\
-.L14:\n\
-	.long	__gmon_start__@PLT-(.LPCS0+2-(.))\n\
-1:\n\
-	ALIGN\n\
-	END_INIT\n\
-\n\
-/*@_init_PROLOG_ENDS*/\n\
-\n\
-/*@_init_EPILOG_BEGINS*/\n\
-	.section .init\n\
-	mov	r14,r15\n\
-	lds.l	@r15+,pr\n\
-	mov.l	@r15+,r14\n\
-	mov.l	@r15+,r12\n\
-	rts	\n\
-	nop\n\
-	END_INIT\n\
-\n\
-/*@_init_EPILOG_ENDS*/\n\
-\n\
-/*@_fini_PROLOG_BEGINS*/\n\
-	.section	.fini,\"ax\",@progbits\n\
-	.align 5\n\
-	.global	_fini\n\
-	.type	_fini, @function\n\
-_fini:\n\
-	mov.l	r12,@-r15\n\
-	mova	.L19,r0\n\
-	mov.l	r14,@-r15\n\
-	sts.l	pr,@-r15\n\
-	mov.l	.L19,r12\n\
-	mov	r15,r14\n\
-	add	r0,r12\n\
-	bra	0f\n\
-	nop\n\
-	.align 2\n\
-.L19:\n\
-	.long	_GLOBAL_OFFSET_TABLE_\n\
-0:\n\
-	ALIGN\n\
-	END_FINI\n\
-\n\
-/*@_fini_PROLOG_ENDS*/\n\
-	mov.l	.L20,r1\n\
-	bsrf	r1\n\
-.LPCS1:\n\
-	nop\n\
-	bra	1f\n\
-	nop\n\
-	.align 2\n\
-.L20:\n\
-	.long	i_am_not_a_leaf@PLT-(.LPCS1+2-(.))\n\
-1:\n\
-/*@_fini_EPILOG_BEGINS*/\n\
-	.section .fini\n\
-	mov	r14,r15\n\
-	lds.l	@r15+,pr\n\
-	mov.l	@r15+,r14\n\
-	mov.l	@r15+,r12\n\
-	rts	\n\
-	nop\n\
-	END_FINI\n\
-\n\
-/*@_fini_EPILOG_ENDS*/\n\
-\n\
-/*@TRAILER_BEGINS*/\n\
-	.weak	__gmon_start__\n\
-");

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

Summary of changes:
 ChangeLog                                     |    6 +
 nptl/ChangeLog                                |    4 +
 nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c |  125 --------------------
 sysdeps/{powerpc/powerpc32 => sh}/crti.S      |   83 +++++++++----
 sysdeps/{i386 => sh}/crtn.S                   |   22 +++--
 sysdeps/sh/elf/initfini.c                     |  152 -------------------------
 6 files changed, 81 insertions(+), 311 deletions(-)
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c
 copy sysdeps/{powerpc/powerpc32 => sh}/crti.S (73%)
 copy sysdeps/{i386 => sh}/crtn.S (88%)
 delete mode 100644 sysdeps/sh/elf/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]