1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/linuxthreads-2.2.5/pt-initfini-sh.patch Tue May 22 20:37:46 2007 +0000
1.3 @@ -0,0 +1,267 @@
1.4 +--- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c.old Wed May 28 09:29:55 2003
1.5 ++++ glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c Wed May 28 09:30:11 2003
1.6 +@@ -36,134 +36,134 @@
1.7 + * crtn.s puts the corresponding function epilogues
1.8 + in the .init and .fini sections. */
1.9 +
1.10 +-__asm__ ("
1.11 +-
1.12 +-#include \"defs.h\"
1.13 +-#define SHARED
1.14 +-
1.15 +-/*@HEADER_ENDS*/
1.16 +-
1.17 +-/*@TESTS_BEGIN*/
1.18 +-
1.19 +-/*@TESTS_END*/
1.20 +-
1.21 +-/*@_init_PROLOG_BEGINS*/
1.22 +- .section .init
1.23 +- .align 5
1.24 +- .global _init
1.25 +- .type _init,@function
1.26 +-_init:
1.27 +- mov.l r12,@-r15
1.28 +- mov.l r14,@-r15
1.29 +- sts.l pr,@-r15
1.30 +-#ifdef SHARED
1.31 +- mova .L22,r0
1.32 +- mov.l .L22,r12
1.33 +- add r0,r12
1.34 +- mova .L24,r0
1.35 +- mov.l .L24,r1
1.36 +- add r0,r1
1.37 +- jsr @r1
1.38 +- nop
1.39 +- mova .L23,r0
1.40 +- mov.l .L23,r1
1.41 +- add r0,r1
1.42 +-#else
1.43 +- mov.l .L24,r1
1.44 +- jsr @r1
1.45 +- nop
1.46 +- mov.l .L23,r1
1.47 +-#endif
1.48 +- jsr @r1
1.49 +- mov r15,r14
1.50 +- bra 1f
1.51 +- nop
1.52 +- .align 2
1.53 +-#ifdef SHARED
1.54 +-.L22:
1.55 +- .long _GLOBAL_OFFSET_TABLE_
1.56 +-.L23:
1.57 +- .long __gmon_start__@PLT
1.58 +-.L24:
1.59 +- .long __pthread_initialize_minimal@PLT
1.60 +-#else
1.61 +-.L23:
1.62 +- .long __gmon_start__
1.63 +-.L24:
1.64 +- .long __pthread_initialize_minimal
1.65 +-#endif
1.66 +- .data
1.67 +- .global __fpscr_values
1.68 +-__fpscr_values:
1.69 +- .long 0
1.70 +- .long 0x80000
1.71 +- .previous
1.72 +-1:
1.73 +- ALIGN
1.74 +- END_INIT
1.75 +-
1.76 +-
1.77 +-/*@_init_PROLOG_ENDS*/
1.78 +-
1.79 +-/*@_init_EPILOG_BEGINS*/
1.80 +- .section .init
1.81 +- mov r14,r15
1.82 +- lds.l @r15+,pr
1.83 +- mov.l @r15+,r14
1.84 +- rts
1.85 +- mov.l @r15+,r12
1.86 +- END_INIT
1.87 +- .section .text
1.88 +- .align 5
1.89 +- .weak __gmon_start__
1.90 +- .type __gmon_start__,@function
1.91 +-__gmon_start__:
1.92 +- mov.l r14,@-r15
1.93 +- mov r15,r14
1.94 +- mov r14,r15
1.95 +- rts
1.96 +- mov.l @r15+,r14
1.97 +-
1.98 +-/*@_init_EPILOG_ENDS*/
1.99 +-
1.100 +-/*@_fini_PROLOG_BEGINS*/
1.101 +- .section .fini
1.102 +- .align 5
1.103 +- .global _fini
1.104 +- .type _fini,@function
1.105 +-_fini:
1.106 +- mov.l r12,@-r15
1.107 +- mov.l r14,@-r15
1.108 +- sts.l pr,@-r15
1.109 +-#ifdef SHARED
1.110 +- mova .L27,r0
1.111 +- mov.l .L27,r12
1.112 +- add r0,r12
1.113 +-#endif
1.114 +- mov r15,r14
1.115 +- ALIGN
1.116 +- END_FINI
1.117 +-#ifdef SHARED
1.118 +- bra 1f
1.119 +- nop
1.120 +- .align 2
1.121 +-.L27:
1.122 +- .long _GLOBAL_OFFSET_TABLE_
1.123 +-#endif
1.124 +-1:
1.125 +-/*@_fini_PROLOG_ENDS*/
1.126 +-
1.127 +-/*@_fini_EPILOG_BEGINS*/
1.128 +- .section .fini
1.129 +- mov r14,r15
1.130 +- lds.l @r15+,pr
1.131 +- mov.l @r15+,r14
1.132 +- rts
1.133 +- mov.l @r15+,r12
1.134 +-
1.135 +- END_FINI
1.136 +-
1.137 +-/*@_fini_EPILOG_ENDS*/
1.138 +-
1.139 +-/*@TRAILER_BEGINS*/
1.140 ++__asm__ ("\n\
1.141 ++\n\
1.142 ++#include \"defs.h\"\n\
1.143 ++#define SHARED\n\
1.144 ++\n\
1.145 ++/*@HEADER_ENDS*/\n\
1.146 ++\n\
1.147 ++/*@TESTS_BEGIN*/\n\
1.148 ++\n\
1.149 ++/*@TESTS_END*/\n\
1.150 ++\n\
1.151 ++/*@_init_PROLOG_BEGINS*/\n\
1.152 ++ .section .init\n\
1.153 ++ .align 5\n\
1.154 ++ .global _init\n\
1.155 ++ .type _init,@function\n\
1.156 ++_init:\n\
1.157 ++ mov.l r12,@-r15\n\
1.158 ++ mov.l r14,@-r15\n\
1.159 ++ sts.l pr,@-r15\n\
1.160 ++#ifdef SHARED\n\
1.161 ++ mova .L22,r0\n\
1.162 ++ mov.l .L22,r12\n\
1.163 ++ add r0,r12\n\
1.164 ++ mova .L24,r0\n\
1.165 ++ mov.l .L24,r1\n\
1.166 ++ add r0,r1\n\
1.167 ++ jsr @r1\n\
1.168 ++ nop\n\
1.169 ++ mova .L23,r0\n\
1.170 ++ mov.l .L23,r1\n\
1.171 ++ add r0,r1\n\
1.172 ++#else\n\
1.173 ++ mov.l .L24,r1\n\
1.174 ++ jsr @r1\n\
1.175 ++ nop\n\
1.176 ++ mov.l .L23,r1\n\
1.177 ++#endif\n\
1.178 ++ jsr @r1\n\
1.179 ++ mov r15,r14\n\
1.180 ++ bra 1f\n\
1.181 ++ nop\n\
1.182 ++ .align 2\n\
1.183 ++#ifdef SHARED\n\
1.184 ++.L22:\n\
1.185 ++ .long _GLOBAL_OFFSET_TABLE_\n\
1.186 ++.L23:\n\
1.187 ++ .long __gmon_start__@PLT\n\
1.188 ++.L24:\n\
1.189 ++ .long __pthread_initialize_minimal@PLT\n\
1.190 ++#else\n\
1.191 ++.L23:\n\
1.192 ++ .long __gmon_start__\n\
1.193 ++.L24:\n\
1.194 ++ .long __pthread_initialize_minimal\n\
1.195 ++#endif\n\
1.196 ++ .data\n\
1.197 ++ .global __fpscr_values\n\
1.198 ++__fpscr_values:\n\
1.199 ++ .long 0\n\
1.200 ++ .long 0x80000\n\
1.201 ++ .previous\n\
1.202 ++1:\n\
1.203 ++ ALIGN\n\
1.204 ++ END_INIT\n\
1.205 ++\n\
1.206 ++ \n\
1.207 ++/*@_init_PROLOG_ENDS*/\n\
1.208 ++\n\
1.209 ++/*@_init_EPILOG_BEGINS*/\n\
1.210 ++ .section .init\n\
1.211 ++ mov r14,r15\n\
1.212 ++ lds.l @r15+,pr\n\
1.213 ++ mov.l @r15+,r14\n\
1.214 ++ rts \n\
1.215 ++ mov.l @r15+,r12\n\
1.216 ++ END_INIT\n\
1.217 ++ .section .text\n\
1.218 ++ .align 5\n\
1.219 ++ .weak __gmon_start__\n\
1.220 ++ .type __gmon_start__,@function\n\
1.221 ++__gmon_start__:\n\
1.222 ++ mov.l r14,@-r15\n\
1.223 ++ mov r15,r14\n\
1.224 ++ mov r14,r15\n\
1.225 ++ rts \n\
1.226 ++ mov.l @r15+,r14\n\
1.227 ++ \n\
1.228 ++/*@_init_EPILOG_ENDS*/\n\
1.229 ++\n\
1.230 ++/*@_fini_PROLOG_BEGINS*/\n\
1.231 ++ .section .fini\n\
1.232 ++ .align 5\n\
1.233 ++ .global _fini\n\
1.234 ++ .type _fini,@function\n\
1.235 ++_fini:\n\
1.236 ++ mov.l r12,@-r15\n\
1.237 ++ mov.l r14,@-r15\n\
1.238 ++ sts.l pr,@-r15\n\
1.239 ++#ifdef SHARED\n\
1.240 ++ mova .L27,r0\n\
1.241 ++ mov.l .L27,r12\n\
1.242 ++ add r0,r12\n\
1.243 ++#endif\n\
1.244 ++ mov r15,r14\n\
1.245 ++ ALIGN\n\
1.246 ++ END_FINI\n\
1.247 ++#ifdef SHARED\n\
1.248 ++ bra 1f\n\
1.249 ++ nop\n\
1.250 ++ .align 2\n\
1.251 ++.L27:\n\
1.252 ++ .long _GLOBAL_OFFSET_TABLE_\n\
1.253 ++#endif\n\
1.254 ++1:\n\
1.255 ++/*@_fini_PROLOG_ENDS*/\n\
1.256 ++\n\
1.257 ++/*@_fini_EPILOG_BEGINS*/\n\
1.258 ++ .section .fini\n\
1.259 ++ mov r14,r15\n\
1.260 ++ lds.l @r15+,pr\n\
1.261 ++ mov.l @r15+,r14\n\
1.262 ++ rts \n\
1.263 ++ mov.l @r15+,r12\n\
1.264 ++\n\
1.265 ++ END_FINI\n\
1.266 ++ \n\
1.267 ++/*@_fini_EPILOG_ENDS*/\n\
1.268 ++\n\
1.269 ++/*@TRAILER_BEGINS*/\n\
1.270 + ");