patches/glibc/2.2.5/dl-machine-alpha.patch
changeset 330 447b203edc2e
parent 329 419d959441ed
child 331 0c05f9ea3254
     1.1 --- a/patches/glibc/2.2.5/dl-machine-alpha.patch	Tue Aug 14 19:32:22 2007 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,424 +0,0 @@
     1.4 -From http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/alpha/dl-machine.h.diff?r1=1.56&r2=1.57&cvsroot=glibc
     1.5 -(minus first hunk)
     1.6 -Lets glibc-2.2.5 compile with gcc-3.3
     1.7 -
     1.8 -===================================================================
     1.9 -RCS file: /cvs/glibc/libc/sysdeps/alpha/dl-machine.h,v
    1.10 -retrieving revision 1.56
    1.11 -retrieving revision 1.57
    1.12 -diff -u -r1.56 -r1.57
    1.13 ---- libc/sysdeps/alpha/dl-machine.h	2001/12/12 00:10:27	1.56
    1.14 -+++ libc/sysdeps/alpha/dl-machine.h	2001/12/31 17:33:59	1.57
    1.15 -@@ -156,125 +157,126 @@
    1.16 - #define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name, IMB)	\
    1.17 -   extern void tramp_name (void);				\
    1.18 -   asm ( "\
    1.19 --	.globl " #tramp_name "
    1.20 --	.ent " #tramp_name "
    1.21 --" #tramp_name ":
    1.22 --	lda	$sp, -44*8($sp)
    1.23 --	.frame	$sp, 44*8, $26
    1.24 --	/* Preserve all integer registers that C normally doesn't.  */
    1.25 --	stq	$26, 0*8($sp)
    1.26 --	stq	$0, 1*8($sp)
    1.27 --	stq	$1, 2*8($sp)
    1.28 --	stq	$2, 3*8($sp)
    1.29 --	stq	$3, 4*8($sp)
    1.30 --	stq	$4, 5*8($sp)
    1.31 --	stq	$5, 6*8($sp)
    1.32 --	stq	$6, 7*8($sp)
    1.33 --	stq	$7, 8*8($sp)
    1.34 --	stq	$8, 9*8($sp)
    1.35 --	stq	$16, 10*8($sp)
    1.36 --	stq	$17, 11*8($sp)
    1.37 --	stq	$18, 12*8($sp)
    1.38 --	stq	$19, 13*8($sp)
    1.39 --	stq	$20, 14*8($sp)
    1.40 --	stq	$21, 15*8($sp)
    1.41 --	stq	$22, 16*8($sp)
    1.42 --	stq	$23, 17*8($sp)
    1.43 --	stq	$24, 18*8($sp)
    1.44 --	stq	$25, 19*8($sp)
    1.45 --	stq	$29, 20*8($sp)
    1.46 --	stt	$f0, 21*8($sp)
    1.47 --	stt	$f1, 22*8($sp)
    1.48 --	stt	$f10, 23*8($sp)
    1.49 --	stt	$f11, 24*8($sp)
    1.50 --	stt	$f12, 25*8($sp)
    1.51 --	stt	$f13, 26*8($sp)
    1.52 --	stt	$f14, 27*8($sp)
    1.53 --	stt	$f15, 28*8($sp)
    1.54 --	stt	$f16, 29*8($sp)
    1.55 --	stt	$f17, 30*8($sp)
    1.56 --	stt	$f18, 31*8($sp)
    1.57 --	stt	$f19, 32*8($sp)
    1.58 --	stt	$f20, 33*8($sp)
    1.59 --	stt	$f21, 34*8($sp)
    1.60 --	stt	$f22, 35*8($sp)
    1.61 --	stt	$f23, 36*8($sp)
    1.62 --	stt	$f24, 37*8($sp)
    1.63 --	stt	$f25, 38*8($sp)
    1.64 --	stt	$f26, 39*8($sp)
    1.65 --	stt	$f27, 40*8($sp)
    1.66 --	stt	$f28, 41*8($sp)
    1.67 --	stt	$f29, 42*8($sp)
    1.68 --	stt	$f30, 43*8($sp)
    1.69 --	.mask	0x27ff01ff, -44*8
    1.70 --	.fmask	0xfffffc03, -(44-21)*8
    1.71 --	/* Set up our $gp */
    1.72 --	br	$gp, .+4
    1.73 --	ldgp	$gp, 0($gp)
    1.74 --	.prologue 0
    1.75 --	/* Set up the arguments for fixup: */
    1.76 --	/* $16 = link_map out of plt0 */
    1.77 --	/* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */
    1.78 --	/* $18 = return address */
    1.79 --	subq	$28, $27, $17
    1.80 --	ldq	$16, 8($27)
    1.81 --	subq	$17, 20, $17
    1.82 --	mov	$26, $18
    1.83 --	addq	$17, $17, $17
    1.84 --	/* Do the fixup */
    1.85 --	bsr	$26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng
    1.86 --	/* Move the destination address into position.  */
    1.87 --	mov	$0, $27
    1.88 --	/* Restore program registers.  */
    1.89 --	ldq	$26, 0*8($sp)
    1.90 --	ldq	$0, 1*8($sp)
    1.91 --	ldq	$1, 2*8($sp)
    1.92 --	ldq	$2, 3*8($sp)
    1.93 --	ldq	$3, 4*8($sp)
    1.94 --	ldq	$4, 5*8($sp)
    1.95 --	ldq	$5, 6*8($sp)
    1.96 --	ldq	$6, 7*8($sp)
    1.97 --	ldq	$7, 8*8($sp)
    1.98 --	ldq	$8, 9*8($sp)
    1.99 --	ldq	$16, 10*8($sp)
   1.100 --	ldq	$17, 11*8($sp)
   1.101 --	ldq	$18, 12*8($sp)
   1.102 --	ldq	$19, 13*8($sp)
   1.103 --	ldq	$20, 14*8($sp)
   1.104 --	ldq	$21, 15*8($sp)
   1.105 --	ldq	$22, 16*8($sp)
   1.106 --	ldq	$23, 17*8($sp)
   1.107 --	ldq	$24, 18*8($sp)
   1.108 --	ldq	$25, 19*8($sp)
   1.109 --	ldq	$29, 20*8($sp)
   1.110 --	ldt	$f0, 21*8($sp)
   1.111 --	ldt	$f1, 22*8($sp)
   1.112 --	ldt	$f10, 23*8($sp)
   1.113 --	ldt	$f11, 24*8($sp)
   1.114 --	ldt	$f12, 25*8($sp)
   1.115 --	ldt	$f13, 26*8($sp)
   1.116 --	ldt	$f14, 27*8($sp)
   1.117 --	ldt	$f15, 28*8($sp)
   1.118 --	ldt	$f16, 29*8($sp)
   1.119 --	ldt	$f17, 30*8($sp)
   1.120 --	ldt	$f18, 31*8($sp)
   1.121 --	ldt	$f19, 32*8($sp)
   1.122 --	ldt	$f20, 33*8($sp)
   1.123 --	ldt	$f21, 34*8($sp)
   1.124 --	ldt	$f22, 35*8($sp)
   1.125 --	ldt	$f23, 36*8($sp)
   1.126 --	ldt	$f24, 37*8($sp)
   1.127 --	ldt	$f25, 38*8($sp)
   1.128 --	ldt	$f26, 39*8($sp)
   1.129 --	ldt	$f27, 40*8($sp)
   1.130 --	ldt	$f28, 41*8($sp)
   1.131 --	ldt	$f29, 42*8($sp)
   1.132 --	ldt	$f30, 43*8($sp)
   1.133 --	/* Flush the Icache after having modified the .plt code.  */
   1.134 --	" #IMB "
   1.135 --	/* Clean up and turn control to the destination */
   1.136 --	lda	$sp, 44*8($sp)
   1.137 --	jmp	$31, ($27)
   1.138 -+	.globl " #tramp_name "					\n\
   1.139 -+	.ent " #tramp_name "					\n\
   1.140 -+" #tramp_name ":						\n\
   1.141 -+	lda	$sp, -44*8($sp)					\n\
   1.142 -+	.frame	$sp, 44*8, $26					\n\
   1.143 -+	/* Preserve all integer registers that C normally	\n\
   1.144 -+	   doesn't.  */						\n\
   1.145 -+	stq	$26, 0*8($sp)					\n\
   1.146 -+	stq	$0, 1*8($sp)					\n\
   1.147 -+	stq	$1, 2*8($sp)					\n\
   1.148 -+	stq	$2, 3*8($sp)					\n\
   1.149 -+	stq	$3, 4*8($sp)					\n\
   1.150 -+	stq	$4, 5*8($sp)					\n\
   1.151 -+	stq	$5, 6*8($sp)					\n\
   1.152 -+	stq	$6, 7*8($sp)					\n\
   1.153 -+	stq	$7, 8*8($sp)					\n\
   1.154 -+	stq	$8, 9*8($sp)					\n\
   1.155 -+	stq	$16, 10*8($sp)					\n\
   1.156 -+	stq	$17, 11*8($sp)					\n\
   1.157 -+	stq	$18, 12*8($sp)					\n\
   1.158 -+	stq	$19, 13*8($sp)					\n\
   1.159 -+	stq	$20, 14*8($sp)					\n\
   1.160 -+	stq	$21, 15*8($sp)					\n\
   1.161 -+	stq	$22, 16*8($sp)					\n\
   1.162 -+	stq	$23, 17*8($sp)					\n\
   1.163 -+	stq	$24, 18*8($sp)					\n\
   1.164 -+	stq	$25, 19*8($sp)					\n\
   1.165 -+	stq	$29, 20*8($sp)					\n\
   1.166 -+	stt	$f0, 21*8($sp)					\n\
   1.167 -+	stt	$f1, 22*8($sp)					\n\
   1.168 -+	stt	$f10, 23*8($sp)					\n\
   1.169 -+	stt	$f11, 24*8($sp)					\n\
   1.170 -+	stt	$f12, 25*8($sp)					\n\
   1.171 -+	stt	$f13, 26*8($sp)					\n\
   1.172 -+	stt	$f14, 27*8($sp)					\n\
   1.173 -+	stt	$f15, 28*8($sp)					\n\
   1.174 -+	stt	$f16, 29*8($sp)					\n\
   1.175 -+	stt	$f17, 30*8($sp)					\n\
   1.176 -+	stt	$f18, 31*8($sp)					\n\
   1.177 -+	stt	$f19, 32*8($sp)					\n\
   1.178 -+	stt	$f20, 33*8($sp)					\n\
   1.179 -+	stt	$f21, 34*8($sp)					\n\
   1.180 -+	stt	$f22, 35*8($sp)					\n\
   1.181 -+	stt	$f23, 36*8($sp)					\n\
   1.182 -+	stt	$f24, 37*8($sp)					\n\
   1.183 -+	stt	$f25, 38*8($sp)					\n\
   1.184 -+	stt	$f26, 39*8($sp)					\n\
   1.185 -+	stt	$f27, 40*8($sp)					\n\
   1.186 -+	stt	$f28, 41*8($sp)					\n\
   1.187 -+	stt	$f29, 42*8($sp)					\n\
   1.188 -+	stt	$f30, 43*8($sp)					\n\
   1.189 -+	.mask	0x27ff01ff, -44*8				\n\
   1.190 -+	.fmask	0xfffffc03, -(44-21)*8				\n\
   1.191 -+	/* Set up our $gp */					\n\
   1.192 -+	br	$gp, .+4					\n\
   1.193 -+	ldgp	$gp, 0($gp)					\n\
   1.194 -+	.prologue 0						\n\
   1.195 -+	/* Set up the arguments for fixup: */			\n\
   1.196 -+	/* $16 = link_map out of plt0 */			\n\
   1.197 -+	/* $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24 */\n\
   1.198 -+	/* $18 = return address */				\n\
   1.199 -+	subq	$28, $27, $17					\n\
   1.200 -+	ldq	$16, 8($27)					\n\
   1.201 -+	subq	$17, 20, $17					\n\
   1.202 -+	mov	$26, $18					\n\
   1.203 -+	addq	$17, $17, $17					\n\
   1.204 -+	/* Do the fixup */					\n\
   1.205 -+	bsr	$26, " ASM_ALPHA_NG_SYMBOL_PREFIX #fixup_name "..ng\n\
   1.206 -+	/* Move the destination address into position.  */	\n\
   1.207 -+	mov	$0, $27						\n\
   1.208 -+	/* Restore program registers.  */			\n\
   1.209 -+	ldq	$26, 0*8($sp)					\n\
   1.210 -+	ldq	$0, 1*8($sp)					\n\
   1.211 -+	ldq	$1, 2*8($sp)					\n\
   1.212 -+	ldq	$2, 3*8($sp)					\n\
   1.213 -+	ldq	$3, 4*8($sp)					\n\
   1.214 -+	ldq	$4, 5*8($sp)					\n\
   1.215 -+	ldq	$5, 6*8($sp)					\n\
   1.216 -+	ldq	$6, 7*8($sp)					\n\
   1.217 -+	ldq	$7, 8*8($sp)					\n\
   1.218 -+	ldq	$8, 9*8($sp)					\n\
   1.219 -+	ldq	$16, 10*8($sp)					\n\
   1.220 -+	ldq	$17, 11*8($sp)					\n\
   1.221 -+	ldq	$18, 12*8($sp)					\n\
   1.222 -+	ldq	$19, 13*8($sp)					\n\
   1.223 -+	ldq	$20, 14*8($sp)					\n\
   1.224 -+	ldq	$21, 15*8($sp)					\n\
   1.225 -+	ldq	$22, 16*8($sp)					\n\
   1.226 -+	ldq	$23, 17*8($sp)					\n\
   1.227 -+	ldq	$24, 18*8($sp)					\n\
   1.228 -+	ldq	$25, 19*8($sp)					\n\
   1.229 -+	ldq	$29, 20*8($sp)					\n\
   1.230 -+	ldt	$f0, 21*8($sp)					\n\
   1.231 -+	ldt	$f1, 22*8($sp)					\n\
   1.232 -+	ldt	$f10, 23*8($sp)					\n\
   1.233 -+	ldt	$f11, 24*8($sp)					\n\
   1.234 -+	ldt	$f12, 25*8($sp)					\n\
   1.235 -+	ldt	$f13, 26*8($sp)					\n\
   1.236 -+	ldt	$f14, 27*8($sp)					\n\
   1.237 -+	ldt	$f15, 28*8($sp)					\n\
   1.238 -+	ldt	$f16, 29*8($sp)					\n\
   1.239 -+	ldt	$f17, 30*8($sp)					\n\
   1.240 -+	ldt	$f18, 31*8($sp)					\n\
   1.241 -+	ldt	$f19, 32*8($sp)					\n\
   1.242 -+	ldt	$f20, 33*8($sp)					\n\
   1.243 -+	ldt	$f21, 34*8($sp)					\n\
   1.244 -+	ldt	$f22, 35*8($sp)					\n\
   1.245 -+	ldt	$f23, 36*8($sp)					\n\
   1.246 -+	ldt	$f24, 37*8($sp)					\n\
   1.247 -+	ldt	$f25, 38*8($sp)					\n\
   1.248 -+	ldt	$f26, 39*8($sp)					\n\
   1.249 -+	ldt	$f27, 40*8($sp)					\n\
   1.250 -+	ldt	$f28, 41*8($sp)					\n\
   1.251 -+	ldt	$f29, 42*8($sp)					\n\
   1.252 -+	ldt	$f30, 43*8($sp)					\n\
   1.253 -+	/* Flush the Icache after having modified the .plt code.  */\n\
   1.254 -+	" #IMB "						\n\
   1.255 -+	/* Clean up and turn control to the destination */	\n\
   1.256 -+	lda	$sp, 44*8($sp)					\n\
   1.257 -+	jmp	$31, ($27)					\n\
   1.258 - 	.end " #tramp_name)
   1.259 - 
   1.260 - #ifndef PROF
   1.261 -@@ -292,85 +294,87 @@
   1.262 -    its return value is the user program's entry point.  */
   1.263 - 
   1.264 - #define RTLD_START asm ("\
   1.265 --.text
   1.266 --	.set at
   1.267 --	.globl _start
   1.268 --	.ent _start
   1.269 --_start:
   1.270 --	br	$gp, 0f
   1.271 --0:	ldgp	$gp, 0($gp)
   1.272 --	.prologue 0
   1.273 --	/* Pass pointer to argument block to _dl_start.  */
   1.274 --	mov	$sp, $16
   1.275 --	bsr	$26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng
   1.276 --	.end _start
   1.277 --	/* FALLTHRU */
   1.278 --	.globl _dl_start_user
   1.279 --	.ent _dl_start_user
   1.280 --_dl_start_user:
   1.281 --	.frame $30,0,$31,0
   1.282 --	.prologue 0
   1.283 --	/* Save the user entry point address in s0.  */
   1.284 --	mov	$0, $9
   1.285 --	/* Store the highest stack address.  */
   1.286 --	stq	$30, __libc_stack_end
   1.287 --	/* See if we were run as a command with the executable file
   1.288 --	   name as an extra leading argument.  */
   1.289 --	ldl	$1, _dl_skip_args
   1.290 --	bne	$1, $fixup_stack
   1.291 --$fixup_stack_ret:
   1.292 --	/* The special initializer gets called with the stack just
   1.293 --	   as the application's entry point will see it; it can
   1.294 --	   switch stacks if it moves these contents over.  */
   1.295 --" RTLD_START_SPECIAL_INIT "
   1.296 --	/* Call _dl_init(_dl_loaded, argc, argv, envp) to run initializers.  */
   1.297 --	ldq	$16, _dl_loaded
   1.298 --	ldq	$17, 0($sp)
   1.299 --	lda	$18, 8($sp)
   1.300 --	s8addq	$17, 8, $19
   1.301 --	addq	$19, $18, $19
   1.302 --	jsr	$26, _dl_init
   1.303 --	/* Pass our finalizer function to the user in $0. */
   1.304 --	lda	$0, _dl_fini
   1.305 --	/* Jump to the user's entry point.  */
   1.306 --	mov	$9, $27
   1.307 --	jmp	($9)
   1.308 --$fixup_stack:
   1.309 --	/* Adjust the stack pointer to skip _dl_skip_args words.  This
   1.310 --	   involves copying everything down, since the stack pointer must
   1.311 --	   always be 16-byte aligned.  */
   1.312 --	ldq	$2, 0($sp)
   1.313 --	ldq	$5, _dl_argv
   1.314 --	subq	$31, $1, $6
   1.315 --	subq	$2, $1, $2
   1.316 --	s8addq	$6, $5, $5
   1.317 --	mov	$sp, $4
   1.318 --	s8addq	$1, $sp, $3
   1.319 --	stq	$2, 0($sp)
   1.320 --	stq	$5, _dl_argv
   1.321 --	/* Copy down argv.  */
   1.322 --0:	ldq	$5, 8($3)
   1.323 --	addq	$4, 8, $4
   1.324 --	addq	$3, 8, $3
   1.325 --	stq	$5, 0($4)
   1.326 --	bne	$5, 0b
   1.327 --	/* Copy down envp.  */
   1.328 --1:	ldq	$5, 8($3)
   1.329 --	addq	$4, 8, $4
   1.330 --	addq	$3, 8, $3
   1.331 --	stq	$5, 0($4)
   1.332 --	bne	$5, 1b
   1.333 --	/* Copy down auxiliary table.  */
   1.334 --2:	ldq	$5, 8($3)
   1.335 --	ldq	$6, 16($3)
   1.336 --	addq	$4, 16, $4
   1.337 --	addq	$3, 16, $3
   1.338 --	stq	$5, -8($4)
   1.339 --	stq	$6, 0($4)
   1.340 --	bne	$5, 2b
   1.341 --	br	$fixup_stack_ret
   1.342 --	.end _dl_start_user
   1.343 --	.set noat
   1.344 -+.text								\n\
   1.345 -+	.set at							\n\
   1.346 -+	.globl _start						\n\
   1.347 -+	.ent _start						\n\
   1.348 -+_start:								\n\
   1.349 -+	br	$gp, 0f						\n\
   1.350 -+0:	ldgp	$gp, 0($gp)					\n\
   1.351 -+	.prologue 0						\n\
   1.352 -+	/* Pass pointer to argument block to _dl_start.  */	\n\
   1.353 -+	mov	$sp, $16					\n\
   1.354 -+	bsr	$26, "ASM_ALPHA_NG_SYMBOL_PREFIX"_dl_start..ng	\n\
   1.355 -+	.end _start						\n\
   1.356 -+	/* FALLTHRU */						\n\
   1.357 -+	.globl _dl_start_user					\n\
   1.358 -+	.ent _dl_start_user					\n\
   1.359 -+_dl_start_user:							\n\
   1.360 -+	.frame $30,0,$31,0					\n\
   1.361 -+	.prologue 0						\n\
   1.362 -+	/* Save the user entry point address in s0.  */		\n\
   1.363 -+	mov	$0, $9						\n\
   1.364 -+	/* Store the highest stack address.  */			\n\
   1.365 -+	stq	$30, __libc_stack_end				\n\
   1.366 -+	/* See if we were run as a command with the executable	\n\
   1.367 -+	   file name as an extra leading argument.  */		\n\
   1.368 -+	ldl	$1, _dl_skip_args				\n\
   1.369 -+	bne	$1, $fixup_stack				\n\
   1.370 -+$fixup_stack_ret:						\n\
   1.371 -+	/* The special initializer gets called with the stack	\n\
   1.372 -+	   just as the application's entry point will see it;	\n\
   1.373 -+	   it can switch stacks if it moves these contents	\n\
   1.374 -+	   over.  */						\n\
   1.375 -+" RTLD_START_SPECIAL_INIT "					\n\
   1.376 -+	/* Call _dl_init(_dl_loaded, argc, argv, envp) to run	\n\
   1.377 -+	   initializers.  */					\n\
   1.378 -+	ldq	$16, _dl_loaded					\n\
   1.379 -+	ldq	$17, 0($sp)					\n\
   1.380 -+	lda	$18, 8($sp)					\n\
   1.381 -+	s8addq	$17, 8, $19					\n\
   1.382 -+	addq	$19, $18, $19					\n\
   1.383 -+	jsr	$26, _dl_init					\n\
   1.384 -+	/* Pass our finalizer function to the user in $0. */	\n\
   1.385 -+	lda	$0, _dl_fini					\n\
   1.386 -+	/* Jump to the user's entry point.  */			\n\
   1.387 -+	mov	$9, $27						\n\
   1.388 -+	jmp	($9)						\n\
   1.389 -+$fixup_stack:							\n\
   1.390 -+	/* Adjust the stack pointer to skip _dl_skip_args words.\n\
   1.391 -+	   This involves copying everything down, since the	\n\
   1.392 -+	   stack pointer must always be 16-byte aligned.  */	\n\
   1.393 -+	ldq	$2, 0($sp)					\n\
   1.394 -+	ldq	$5, _dl_argv					\n\
   1.395 -+	subq	$31, $1, $6					\n\
   1.396 -+	subq	$2, $1, $2					\n\
   1.397 -+	s8addq	$6, $5, $5					\n\
   1.398 -+	mov	$sp, $4						\n\
   1.399 -+	s8addq	$1, $sp, $3					\n\
   1.400 -+	stq	$2, 0($sp)					\n\
   1.401 -+	stq	$5, _dl_argv					\n\
   1.402 -+	/* Copy down argv.  */					\n\
   1.403 -+0:	ldq	$5, 8($3)					\n\
   1.404 -+	addq	$4, 8, $4					\n\
   1.405 -+	addq	$3, 8, $3					\n\
   1.406 -+	stq	$5, 0($4)					\n\
   1.407 -+	bne	$5, 0b						\n\
   1.408 -+	/* Copy down envp.  */					\n\
   1.409 -+1:	ldq	$5, 8($3)					\n\
   1.410 -+	addq	$4, 8, $4					\n\
   1.411 -+	addq	$3, 8, $3					\n\
   1.412 -+	stq	$5, 0($4)					\n\
   1.413 -+	bne	$5, 1b						\n\
   1.414 -+	/* Copy down auxiliary table.  */			\n\
   1.415 -+2:	ldq	$5, 8($3)					\n\
   1.416 -+	ldq	$6, 16($3)					\n\
   1.417 -+	addq	$4, 16, $4					\n\
   1.418 -+	addq	$3, 16, $3					\n\
   1.419 -+	stq	$5, -8($4)					\n\
   1.420 -+	stq	$6, 0($4)					\n\
   1.421 -+	bne	$5, 2b						\n\
   1.422 -+	br	$fixup_stack_ret				\n\
   1.423 -+	.end _dl_start_user					\n\
   1.424 -+	.set noat						\n\
   1.425 - .previous");
   1.426 - 
   1.427 - #ifndef RTLD_START_SPECIAL_INIT