patches/glibc/linuxthreads-2.2.5/pt-initfini-sh.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
yann@1
     1
--- glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c.old	Wed May 28 09:29:55 2003
yann@1
     2
+++ glibc-2.2.5/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c	Wed May 28 09:30:11 2003
yann@1
     3
@@ -36,134 +36,134 @@
yann@1
     4
    * crtn.s puts the corresponding function epilogues
yann@1
     5
    in the .init and .fini sections. */
yann@1
     6
 
yann@1
     7
-__asm__ ("
yann@1
     8
-
yann@1
     9
-#include \"defs.h\"
yann@1
    10
-#define SHARED
yann@1
    11
-
yann@1
    12
-/*@HEADER_ENDS*/
yann@1
    13
-
yann@1
    14
-/*@TESTS_BEGIN*/
yann@1
    15
-
yann@1
    16
-/*@TESTS_END*/
yann@1
    17
-
yann@1
    18
-/*@_init_PROLOG_BEGINS*/
yann@1
    19
-	.section .init
yann@1
    20
-	.align 5
yann@1
    21
-	.global	_init
yann@1
    22
-	.type	_init,@function
yann@1
    23
-_init:
yann@1
    24
-	mov.l	r12,@-r15
yann@1
    25
-	mov.l	r14,@-r15
yann@1
    26
-	sts.l	pr,@-r15
yann@1
    27
-#ifdef SHARED
yann@1
    28
-	mova	.L22,r0
yann@1
    29
-	mov.l	.L22,r12
yann@1
    30
-	add	r0,r12
yann@1
    31
-	mova	.L24,r0
yann@1
    32
-	mov.l	.L24,r1
yann@1
    33
-	add	r0,r1
yann@1
    34
-	jsr	@r1
yann@1
    35
-	 nop
yann@1
    36
-	mova	.L23,r0
yann@1
    37
-	mov.l	.L23,r1
yann@1
    38
-	add	r0,r1
yann@1
    39
-#else
yann@1
    40
-	mov.l	.L24,r1
yann@1
    41
-	jsr	@r1
yann@1
    42
-	 nop
yann@1
    43
-	mov.l	.L23,r1
yann@1
    44
-#endif
yann@1
    45
-	jsr	@r1
yann@1
    46
-	 mov	r15,r14
yann@1
    47
-	bra	1f
yann@1
    48
-	 nop
yann@1
    49
-	.align 2
yann@1
    50
-#ifdef SHARED
yann@1
    51
-.L22:
yann@1
    52
-	.long	_GLOBAL_OFFSET_TABLE_
yann@1
    53
-.L23:
yann@1
    54
-	.long	__gmon_start__@PLT
yann@1
    55
-.L24:
yann@1
    56
-	.long	__pthread_initialize_minimal@PLT
yann@1
    57
-#else
yann@1
    58
-.L23:
yann@1
    59
-	.long	__gmon_start__
yann@1
    60
-.L24:
yann@1
    61
-	.long	__pthread_initialize_minimal
yann@1
    62
-#endif
yann@1
    63
-	.data
yann@1
    64
-	.global __fpscr_values
yann@1
    65
-__fpscr_values:
yann@1
    66
-	.long   0
yann@1
    67
-	.long   0x80000
yann@1
    68
-	.previous
yann@1
    69
-1:
yann@1
    70
-	ALIGN
yann@1
    71
-	END_INIT
yann@1
    72
-
yann@1
    73
-	
yann@1
    74
-/*@_init_PROLOG_ENDS*/
yann@1
    75
-
yann@1
    76
-/*@_init_EPILOG_BEGINS*/
yann@1
    77
-	.section .init
yann@1
    78
-	mov	r14,r15
yann@1
    79
-	lds.l	@r15+,pr
yann@1
    80
-	mov.l	@r15+,r14
yann@1
    81
-	rts	
yann@1
    82
-	mov.l	@r15+,r12
yann@1
    83
-	END_INIT
yann@1
    84
-	.section .text
yann@1
    85
-	.align 5
yann@1
    86
-	.weak	__gmon_start__
yann@1
    87
-	.type	__gmon_start__,@function
yann@1
    88
-__gmon_start__:
yann@1
    89
-	mov.l	r14,@-r15
yann@1
    90
-	mov	r15,r14
yann@1
    91
-	mov	r14,r15
yann@1
    92
-	rts	
yann@1
    93
-	mov.l	@r15+,r14
yann@1
    94
-	
yann@1
    95
-/*@_init_EPILOG_ENDS*/
yann@1
    96
-
yann@1
    97
-/*@_fini_PROLOG_BEGINS*/
yann@1
    98
-	.section .fini
yann@1
    99
-	.align 5
yann@1
   100
-	.global	_fini
yann@1
   101
-	.type	_fini,@function
yann@1
   102
-_fini:
yann@1
   103
-	mov.l	r12,@-r15
yann@1
   104
-	mov.l	r14,@-r15
yann@1
   105
-	sts.l	pr,@-r15
yann@1
   106
-#ifdef SHARED
yann@1
   107
-	mova	.L27,r0
yann@1
   108
-	mov.l	.L27,r12
yann@1
   109
-	add	r0,r12
yann@1
   110
-#endif
yann@1
   111
-	mov	r15,r14
yann@1
   112
-	ALIGN
yann@1
   113
-	END_FINI
yann@1
   114
-#ifdef SHARED
yann@1
   115
-	bra	1f
yann@1
   116
-	 nop
yann@1
   117
-	.align	2
yann@1
   118
-.L27:
yann@1
   119
-	.long	_GLOBAL_OFFSET_TABLE_
yann@1
   120
-#endif
yann@1
   121
-1:
yann@1
   122
-/*@_fini_PROLOG_ENDS*/
yann@1
   123
-
yann@1
   124
-/*@_fini_EPILOG_BEGINS*/
yann@1
   125
-	.section .fini
yann@1
   126
-	mov	r14,r15
yann@1
   127
-	lds.l	@r15+,pr
yann@1
   128
-	mov.l	@r15+,r14
yann@1
   129
-	rts	
yann@1
   130
-	mov.l	@r15+,r12
yann@1
   131
-
yann@1
   132
-	END_FINI
yann@1
   133
-	
yann@1
   134
-/*@_fini_EPILOG_ENDS*/
yann@1
   135
-
yann@1
   136
-/*@TRAILER_BEGINS*/
yann@1
   137
+__asm__ ("\n\
yann@1
   138
+\n\
yann@1
   139
+#include \"defs.h\"\n\
yann@1
   140
+#define SHARED\n\
yann@1
   141
+\n\
yann@1
   142
+/*@HEADER_ENDS*/\n\
yann@1
   143
+\n\
yann@1
   144
+/*@TESTS_BEGIN*/\n\
yann@1
   145
+\n\
yann@1
   146
+/*@TESTS_END*/\n\
yann@1
   147
+\n\
yann@1
   148
+/*@_init_PROLOG_BEGINS*/\n\
yann@1
   149
+	.section .init\n\
yann@1
   150
+	.align 5\n\
yann@1
   151
+	.global	_init\n\
yann@1
   152
+	.type	_init,@function\n\
yann@1
   153
+_init:\n\
yann@1
   154
+	mov.l	r12,@-r15\n\
yann@1
   155
+	mov.l	r14,@-r15\n\
yann@1
   156
+	sts.l	pr,@-r15\n\
yann@1
   157
+#ifdef SHARED\n\
yann@1
   158
+	mova	.L22,r0\n\
yann@1
   159
+	mov.l	.L22,r12\n\
yann@1
   160
+	add	r0,r12\n\
yann@1
   161
+	mova	.L24,r0\n\
yann@1
   162
+	mov.l	.L24,r1\n\
yann@1
   163
+	add	r0,r1\n\
yann@1
   164
+	jsr	@r1\n\
yann@1
   165
+	 nop\n\
yann@1
   166
+	mova	.L23,r0\n\
yann@1
   167
+	mov.l	.L23,r1\n\
yann@1
   168
+	add	r0,r1\n\
yann@1
   169
+#else\n\
yann@1
   170
+	mov.l	.L24,r1\n\
yann@1
   171
+	jsr	@r1\n\
yann@1
   172
+	 nop\n\
yann@1
   173
+	mov.l	.L23,r1\n\
yann@1
   174
+#endif\n\
yann@1
   175
+	jsr	@r1\n\
yann@1
   176
+	 mov	r15,r14\n\
yann@1
   177
+	bra	1f\n\
yann@1
   178
+	 nop\n\
yann@1
   179
+	.align 2\n\
yann@1
   180
+#ifdef SHARED\n\
yann@1
   181
+.L22:\n\
yann@1
   182
+	.long	_GLOBAL_OFFSET_TABLE_\n\
yann@1
   183
+.L23:\n\
yann@1
   184
+	.long	__gmon_start__@PLT\n\
yann@1
   185
+.L24:\n\
yann@1
   186
+	.long	__pthread_initialize_minimal@PLT\n\
yann@1
   187
+#else\n\
yann@1
   188
+.L23:\n\
yann@1
   189
+	.long	__gmon_start__\n\
yann@1
   190
+.L24:\n\
yann@1
   191
+	.long	__pthread_initialize_minimal\n\
yann@1
   192
+#endif\n\
yann@1
   193
+	.data\n\
yann@1
   194
+	.global __fpscr_values\n\
yann@1
   195
+__fpscr_values:\n\
yann@1
   196
+	.long   0\n\
yann@1
   197
+	.long   0x80000\n\
yann@1
   198
+	.previous\n\
yann@1
   199
+1:\n\
yann@1
   200
+	ALIGN\n\
yann@1
   201
+	END_INIT\n\
yann@1
   202
+\n\
yann@1
   203
+	\n\
yann@1
   204
+/*@_init_PROLOG_ENDS*/\n\
yann@1
   205
+\n\
yann@1
   206
+/*@_init_EPILOG_BEGINS*/\n\
yann@1
   207
+	.section .init\n\
yann@1
   208
+	mov	r14,r15\n\
yann@1
   209
+	lds.l	@r15+,pr\n\
yann@1
   210
+	mov.l	@r15+,r14\n\
yann@1
   211
+	rts	\n\
yann@1
   212
+	mov.l	@r15+,r12\n\
yann@1
   213
+	END_INIT\n\
yann@1
   214
+	.section .text\n\
yann@1
   215
+	.align 5\n\
yann@1
   216
+	.weak	__gmon_start__\n\
yann@1
   217
+	.type	__gmon_start__,@function\n\
yann@1
   218
+__gmon_start__:\n\
yann@1
   219
+	mov.l	r14,@-r15\n\
yann@1
   220
+	mov	r15,r14\n\
yann@1
   221
+	mov	r14,r15\n\
yann@1
   222
+	rts	\n\
yann@1
   223
+	mov.l	@r15+,r14\n\
yann@1
   224
+	\n\
yann@1
   225
+/*@_init_EPILOG_ENDS*/\n\
yann@1
   226
+\n\
yann@1
   227
+/*@_fini_PROLOG_BEGINS*/\n\
yann@1
   228
+	.section .fini\n\
yann@1
   229
+	.align 5\n\
yann@1
   230
+	.global	_fini\n\
yann@1
   231
+	.type	_fini,@function\n\
yann@1
   232
+_fini:\n\
yann@1
   233
+	mov.l	r12,@-r15\n\
yann@1
   234
+	mov.l	r14,@-r15\n\
yann@1
   235
+	sts.l	pr,@-r15\n\
yann@1
   236
+#ifdef SHARED\n\
yann@1
   237
+	mova	.L27,r0\n\
yann@1
   238
+	mov.l	.L27,r12\n\
yann@1
   239
+	add	r0,r12\n\
yann@1
   240
+#endif\n\
yann@1
   241
+	mov	r15,r14\n\
yann@1
   242
+	ALIGN\n\
yann@1
   243
+	END_FINI\n\
yann@1
   244
+#ifdef SHARED\n\
yann@1
   245
+	bra	1f\n\
yann@1
   246
+	 nop\n\
yann@1
   247
+	.align	2\n\
yann@1
   248
+.L27:\n\
yann@1
   249
+	.long	_GLOBAL_OFFSET_TABLE_\n\
yann@1
   250
+#endif\n\
yann@1
   251
+1:\n\
yann@1
   252
+/*@_fini_PROLOG_ENDS*/\n\
yann@1
   253
+\n\
yann@1
   254
+/*@_fini_EPILOG_BEGINS*/\n\
yann@1
   255
+	.section .fini\n\
yann@1
   256
+	mov	r14,r15\n\
yann@1
   257
+	lds.l	@r15+,pr\n\
yann@1
   258
+	mov.l	@r15+,r14\n\
yann@1
   259
+	rts	\n\
yann@1
   260
+	mov.l	@r15+,r12\n\
yann@1
   261
+\n\
yann@1
   262
+	END_FINI\n\
yann@1
   263
+	\n\
yann@1
   264
+/*@_fini_EPILOG_ENDS*/\n\
yann@1
   265
+\n\
yann@1
   266
+/*@TRAILER_BEGINS*/\n\
yann@1
   267
 ");