This is the mail archive of the libc-alpha@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]

Re: [PATCH] s390: Convert to crt[in].S.


Ok. You beat me to the punch. I've tested your patch on s390 and s390x
without seeing any regressions.

Could you please remove the pt-initfini.c files as well:
./nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
./nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c

I again compared the resulting .o files. The only difference I could
spot was due to the removal of some .align directives in crtn.s so the
code is not padded to a multiple of 4 byte size anymore.  I don't see
a reason why this has been done in the first place so that's ok to my
understanding.

Thanks for taking care of this!

Bye,

-Andreas-


On Wed, Feb 15, 2012 at 08:03:06PM -0800, Richard Henderson wrote:
> This is the last of the conversions to crt*.S files.
> 
> Tested via cross-compile and objdump -dr to prove that
> the files are unchanged before and after the conversion.
> 
> Ok?
> 
> 
> r~
> 
> 
> ---
>  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 -----------------------------------
>  6 files changed, 290 insertions(+), 299 deletions(-)
>  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
> 
> 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..ff63e19
> --- /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*/\
> -");
> -- 
> 1.7.7.6


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