patches/glibc/linuxthreads-2.2.5/pt-initfini-alpha.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/glibc/linuxthreads-2.2.5/pt-initfini-alpha.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,119 @@
     1.4 +--- glibc-2.2.5/linuxthreads/sysdeps/alpha/elf/pt-initfini.c.old	Fri Jun  6 22:02:08 2003
     1.5 ++++ glibc-2.2.5/linuxthreads/sysdeps/alpha/elf/pt-initfini.c	Fri Jun  6 22:02:33 2003
     1.6 +@@ -37,60 +37,60 @@
     1.7 +    files, all of which may have different GP values.  So we must reload
     1.8 +    the GP value from crti.o in crtn.o.  */
     1.9 + 
    1.10 +-__asm__ ("
    1.11 +-
    1.12 +-#include \"defs.h\"
    1.13 +-
    1.14 +-/*@HEADER_ENDS*/
    1.15 +-
    1.16 +-/*@_init_PROLOG_BEGINS*/
    1.17 +-	.section .init, \"ax\", @progbits
    1.18 +-	.globl	_init
    1.19 +-	.ent	_init
    1.20 +-_init:
    1.21 +-	ldgp	$29, 0($27)
    1.22 +-	subq	$30, 16, $30
    1.23 +-	lda	$27, __pthread_initialize_minimal
    1.24 +-	stq	$26, 0($30)
    1.25 +-	stq	$29, 8($30)
    1.26 +-	.prologue 1
    1.27 +-	jsr	$26, ($27), __pthread_initialize_minimal
    1.28 +-	ldq	$29, 8($30)
    1.29 +-	.align 3
    1.30 +-	.end	_init
    1.31 +-	.size	_init, 0
    1.32 +-/*@_init_PROLOG_ENDS*/
    1.33 +-
    1.34 +-/*@_init_EPILOG_BEGINS*/
    1.35 +-	.section .init, \"ax\", @progbits
    1.36 +-	ldq	$26, 0($30)
    1.37 +-	ldq	$29, 8($30)
    1.38 +-	addq	$30, 16, $30
    1.39 +-	ret
    1.40 +-/*@_init_EPILOG_ENDS*/
    1.41 +-
    1.42 +-/*@_fini_PROLOG_BEGINS*/
    1.43 +-	.section .fini, \"ax\", @progbits
    1.44 +-	.globl	_fini
    1.45 +-	.ent	_fini
    1.46 +-_fini:
    1.47 +-	ldgp	$29, 0($27)
    1.48 +-	subq	$30, 16, $30
    1.49 +-	stq	$26, 0($30)
    1.50 +-	stq	$29, 8($30)
    1.51 +-	.prologue 1
    1.52 +-	.align 3
    1.53 +-	.end	_fini
    1.54 +-	.size	_fini, 0
    1.55 +-/*@_fini_PROLOG_ENDS*/
    1.56 +-
    1.57 +-/*@_fini_EPILOG_BEGINS*/
    1.58 +-	.section .fini, \"ax\", @progbits
    1.59 +-	ldq	$26, 0($30)
    1.60 +-	ldq	$29, 8($30)
    1.61 +-	addq	$30, 16, $30
    1.62 +-	ret
    1.63 +-/*@_fini_EPILOG_ENDS*/
    1.64 +-
    1.65 +-/*@TRAILER_BEGINS*/
    1.66 ++__asm__ ("\n\
    1.67 ++\n\
    1.68 ++#include \"defs.h\"\n\
    1.69 ++\n\
    1.70 ++/*@HEADER_ENDS*/\n\
    1.71 ++\n\
    1.72 ++/*@_init_PROLOG_BEGINS*/\n\
    1.73 ++	.section .init, \"ax\", @progbits\n\
    1.74 ++	.globl	_init\n\
    1.75 ++	.ent	_init\n\
    1.76 ++_init:\n\
    1.77 ++	ldgp	$29, 0($27)\n\
    1.78 ++	subq	$30, 16, $30\n\
    1.79 ++	lda	$27, __pthread_initialize_minimal\n\
    1.80 ++	stq	$26, 0($30)\n\
    1.81 ++	stq	$29, 8($30)\n\
    1.82 ++	.prologue 1\n\
    1.83 ++	jsr	$26, ($27), __pthread_initialize_minimal\n\
    1.84 ++	ldq	$29, 8($30)\n\
    1.85 ++	.align 3\n\
    1.86 ++	.end	_init\n\
    1.87 ++	.size	_init, 0\n\
    1.88 ++/*@_init_PROLOG_ENDS*/\n\
    1.89 ++\n\
    1.90 ++/*@_init_EPILOG_BEGINS*/\n\
    1.91 ++	.section .init, \"ax\", @progbits\n\
    1.92 ++	ldq	$26, 0($30)\n\
    1.93 ++	ldq	$29, 8($30)\n\
    1.94 ++	addq	$30, 16, $30\n\
    1.95 ++	ret\n\
    1.96 ++/*@_init_EPILOG_ENDS*/\n\
    1.97 ++\n\
    1.98 ++/*@_fini_PROLOG_BEGINS*/\n\
    1.99 ++	.section .fini, \"ax\", @progbits\n\
   1.100 ++	.globl	_fini\n\
   1.101 ++	.ent	_fini\n\
   1.102 ++_fini:\n\
   1.103 ++	ldgp	$29, 0($27)\n\
   1.104 ++	subq	$30, 16, $30\n\
   1.105 ++	stq	$26, 0($30)\n\
   1.106 ++	stq	$29, 8($30)\n\
   1.107 ++	.prologue 1\n\
   1.108 ++	.align 3\n\
   1.109 ++	.end	_fini\n\
   1.110 ++	.size	_fini, 0\n\
   1.111 ++/*@_fini_PROLOG_ENDS*/\n\
   1.112 ++\n\
   1.113 ++/*@_fini_EPILOG_BEGINS*/\n\
   1.114 ++	.section .fini, \"ax\", @progbits\n\
   1.115 ++	ldq	$26, 0($30)\n\
   1.116 ++	ldq	$29, 8($30)\n\
   1.117 ++	addq	$30, 16, $30\n\
   1.118 ++	ret\n\
   1.119 ++/*@_fini_EPILOG_ENDS*/\n\
   1.120 ++\n\
   1.121 ++/*@TRAILER_BEGINS*/\n\
   1.122 + ");