yann@1: --- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c.old Wed May 28 09:29:55 2003 yann@1: +++ glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c Wed May 28 09:30:11 2003 yann@1: @@ -36,134 +36,134 @@ yann@1: * crtn.s puts the corresponding function epilogues yann@1: in the .init and .fini sections. */ yann@1: yann@1: -__asm__ (" yann@1: - yann@1: -#include \"defs.h\" yann@1: -#define SHARED yann@1: - yann@1: -/*@HEADER_ENDS*/ yann@1: - yann@1: -/*@TESTS_BEGIN*/ yann@1: - yann@1: -/*@TESTS_END*/ yann@1: - yann@1: -/*@_init_PROLOG_BEGINS*/ yann@1: - .section .init yann@1: - .align 5 yann@1: - .global _init yann@1: - .type _init,@function yann@1: -_init: yann@1: - mov.l r12,@-r15 yann@1: - mov.l r14,@-r15 yann@1: - sts.l pr,@-r15 yann@1: -#ifdef SHARED yann@1: - mova .L22,r0 yann@1: - mov.l .L22,r12 yann@1: - add r0,r12 yann@1: - mova .L24,r0 yann@1: - mov.l .L24,r1 yann@1: - add r0,r1 yann@1: - jsr @r1 yann@1: - nop yann@1: - mova .L23,r0 yann@1: - mov.l .L23,r1 yann@1: - add r0,r1 yann@1: -#else yann@1: - mov.l .L24,r1 yann@1: - jsr @r1 yann@1: - nop yann@1: - mov.l .L23,r1 yann@1: -#endif yann@1: - jsr @r1 yann@1: - mov r15,r14 yann@1: - bra 1f yann@1: - nop yann@1: - .align 2 yann@1: -#ifdef SHARED yann@1: -.L22: yann@1: - .long _GLOBAL_OFFSET_TABLE_ yann@1: -.L23: yann@1: - .long __gmon_start__@PLT yann@1: -.L24: yann@1: - .long __pthread_initialize_minimal@PLT yann@1: -#else yann@1: -.L23: yann@1: - .long __gmon_start__ yann@1: -.L24: yann@1: - .long __pthread_initialize_minimal yann@1: -#endif yann@1: - .data yann@1: - .global __fpscr_values yann@1: -__fpscr_values: yann@1: - .long 0 yann@1: - .long 0x80000 yann@1: - .previous yann@1: -1: yann@1: - ALIGN yann@1: - END_INIT yann@1: - yann@1: - yann@1: -/*@_init_PROLOG_ENDS*/ yann@1: - yann@1: -/*@_init_EPILOG_BEGINS*/ yann@1: - .section .init yann@1: - mov r14,r15 yann@1: - lds.l @r15+,pr yann@1: - mov.l @r15+,r14 yann@1: - rts yann@1: - mov.l @r15+,r12 yann@1: - END_INIT yann@1: - .section .text yann@1: - .align 5 yann@1: - .weak __gmon_start__ yann@1: - .type __gmon_start__,@function yann@1: -__gmon_start__: yann@1: - mov.l r14,@-r15 yann@1: - mov r15,r14 yann@1: - mov r14,r15 yann@1: - rts yann@1: - mov.l @r15+,r14 yann@1: - yann@1: -/*@_init_EPILOG_ENDS*/ yann@1: - yann@1: -/*@_fini_PROLOG_BEGINS*/ yann@1: - .section .fini yann@1: - .align 5 yann@1: - .global _fini yann@1: - .type _fini,@function yann@1: -_fini: yann@1: - mov.l r12,@-r15 yann@1: - mov.l r14,@-r15 yann@1: - sts.l pr,@-r15 yann@1: -#ifdef SHARED yann@1: - mova .L27,r0 yann@1: - mov.l .L27,r12 yann@1: - add r0,r12 yann@1: -#endif yann@1: - mov r15,r14 yann@1: - ALIGN yann@1: - END_FINI yann@1: -#ifdef SHARED yann@1: - bra 1f yann@1: - nop yann@1: - .align 2 yann@1: -.L27: yann@1: - .long _GLOBAL_OFFSET_TABLE_ yann@1: -#endif yann@1: -1: yann@1: -/*@_fini_PROLOG_ENDS*/ yann@1: - yann@1: -/*@_fini_EPILOG_BEGINS*/ yann@1: - .section .fini yann@1: - mov r14,r15 yann@1: - lds.l @r15+,pr yann@1: - mov.l @r15+,r14 yann@1: - rts yann@1: - mov.l @r15+,r12 yann@1: - yann@1: - END_FINI yann@1: - yann@1: -/*@_fini_EPILOG_ENDS*/ yann@1: - yann@1: -/*@TRAILER_BEGINS*/ yann@1: +__asm__ ("\n\ yann@1: +\n\ yann@1: +#include \"defs.h\"\n\ yann@1: +#define SHARED\n\ yann@1: +\n\ yann@1: +/*@HEADER_ENDS*/\n\ yann@1: +\n\ yann@1: +/*@TESTS_BEGIN*/\n\ yann@1: +\n\ yann@1: +/*@TESTS_END*/\n\ yann@1: +\n\ yann@1: +/*@_init_PROLOG_BEGINS*/\n\ yann@1: + .section .init\n\ yann@1: + .align 5\n\ yann@1: + .global _init\n\ yann@1: + .type _init,@function\n\ yann@1: +_init:\n\ yann@1: + mov.l r12,@-r15\n\ yann@1: + mov.l r14,@-r15\n\ yann@1: + sts.l pr,@-r15\n\ yann@1: +#ifdef SHARED\n\ yann@1: + mova .L22,r0\n\ yann@1: + mov.l .L22,r12\n\ yann@1: + add r0,r12\n\ yann@1: + mova .L24,r0\n\ yann@1: + mov.l .L24,r1\n\ yann@1: + add r0,r1\n\ yann@1: + jsr @r1\n\ yann@1: + nop\n\ yann@1: + mova .L23,r0\n\ yann@1: + mov.l .L23,r1\n\ yann@1: + add r0,r1\n\ yann@1: +#else\n\ yann@1: + mov.l .L24,r1\n\ yann@1: + jsr @r1\n\ yann@1: + nop\n\ yann@1: + mov.l .L23,r1\n\ yann@1: +#endif\n\ yann@1: + jsr @r1\n\ yann@1: + mov r15,r14\n\ yann@1: + bra 1f\n\ yann@1: + nop\n\ yann@1: + .align 2\n\ yann@1: +#ifdef SHARED\n\ yann@1: +.L22:\n\ yann@1: + .long _GLOBAL_OFFSET_TABLE_\n\ yann@1: +.L23:\n\ yann@1: + .long __gmon_start__@PLT\n\ yann@1: +.L24:\n\ yann@1: + .long __pthread_initialize_minimal@PLT\n\ yann@1: +#else\n\ yann@1: +.L23:\n\ yann@1: + .long __gmon_start__\n\ yann@1: +.L24:\n\ yann@1: + .long __pthread_initialize_minimal\n\ yann@1: +#endif\n\ yann@1: + .data\n\ yann@1: + .global __fpscr_values\n\ yann@1: +__fpscr_values:\n\ yann@1: + .long 0\n\ yann@1: + .long 0x80000\n\ yann@1: + .previous\n\ yann@1: +1:\n\ yann@1: + ALIGN\n\ yann@1: + END_INIT\n\ yann@1: +\n\ yann@1: + \n\ yann@1: +/*@_init_PROLOG_ENDS*/\n\ yann@1: +\n\ yann@1: +/*@_init_EPILOG_BEGINS*/\n\ yann@1: + .section .init\n\ yann@1: + mov r14,r15\n\ yann@1: + lds.l @r15+,pr\n\ yann@1: + mov.l @r15+,r14\n\ yann@1: + rts \n\ yann@1: + mov.l @r15+,r12\n\ yann@1: + END_INIT\n\ yann@1: + .section .text\n\ yann@1: + .align 5\n\ yann@1: + .weak __gmon_start__\n\ yann@1: + .type __gmon_start__,@function\n\ yann@1: +__gmon_start__:\n\ yann@1: + mov.l r14,@-r15\n\ yann@1: + mov r15,r14\n\ yann@1: + mov r14,r15\n\ yann@1: + rts \n\ yann@1: + mov.l @r15+,r14\n\ yann@1: + \n\ yann@1: +/*@_init_EPILOG_ENDS*/\n\ yann@1: +\n\ yann@1: +/*@_fini_PROLOG_BEGINS*/\n\ yann@1: + .section .fini\n\ yann@1: + .align 5\n\ yann@1: + .global _fini\n\ yann@1: + .type _fini,@function\n\ yann@1: +_fini:\n\ yann@1: + mov.l r12,@-r15\n\ yann@1: + mov.l r14,@-r15\n\ yann@1: + sts.l pr,@-r15\n\ yann@1: +#ifdef SHARED\n\ yann@1: + mova .L27,r0\n\ yann@1: + mov.l .L27,r12\n\ yann@1: + add r0,r12\n\ yann@1: +#endif\n\ yann@1: + mov r15,r14\n\ yann@1: + ALIGN\n\ yann@1: + END_FINI\n\ yann@1: +#ifdef SHARED\n\ yann@1: + bra 1f\n\ yann@1: + nop\n\ yann@1: + .align 2\n\ yann@1: +.L27:\n\ yann@1: + .long _GLOBAL_OFFSET_TABLE_\n\ yann@1: +#endif\n\ yann@1: +1:\n\ yann@1: +/*@_fini_PROLOG_ENDS*/\n\ yann@1: +\n\ yann@1: +/*@_fini_EPILOG_BEGINS*/\n\ yann@1: + .section .fini\n\ yann@1: + mov r14,r15\n\ yann@1: + lds.l @r15+,pr\n\ yann@1: + mov.l @r15+,r14\n\ yann@1: + rts \n\ yann@1: + mov.l @r15+,r12\n\ yann@1: +\n\ yann@1: + END_FINI\n\ yann@1: + \n\ yann@1: +/*@_fini_EPILOG_ENDS*/\n\ yann@1: +\n\ yann@1: +/*@TRAILER_BEGINS*/\n\ yann@1: ");