about summary refs log tree commit diff
path: root/sysdeps/alpha
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-02-08 10:08:45 +0000
committerUlrich Drepper <drepper@redhat.com>1999-02-08 10:08:45 +0000
commit82d0c09944e0fa5d22700337b9a8e1c7ae17ea55 (patch)
treee25ba529d6be1baa38b943be642888553873d3f4 /sysdeps/alpha
parentc18cec57b935f80f2d23a3e8d779373fdd932a8b (diff)
downloadglibc-82d0c09944e0fa5d22700337b9a8e1c7ae17ea55.tar.gz
glibc-82d0c09944e0fa5d22700337b9a8e1c7ae17ea55.tar.xz
glibc-82d0c09944e0fa5d22700337b9a8e1c7ae17ea55.zip
Update.
	* po/el.po: New file.

1999-02-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/dl-load.c (_dl_map_object_from_fd): Replace magic constant
	when processing DT_SYMBOLIC objects.

1999-02-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* elf/dl-load.c (_dl_map_object_from_fd): When looking for the
	program headers without PT_PHDR only require that they are
	contained within one of the loaded segments.  Don't use assert,
	since that would be a bug in the object, not the dynamic linker.

1999-02-08  Richard Henderson  <rth@cygnus.com>

	* sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Save and
	restore all call-clobbered fp regs.

1999-02-08  Ulrich Drepper  <drepper@cygnus.com>
Diffstat (limited to 'sysdeps/alpha')
-rw-r--r--sysdeps/alpha/dl-machine.h139
1 files changed, 93 insertions, 46 deletions
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index b63661f6f3..d351e9dccc 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -134,31 +134,55 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 	.globl " #tramp_name "
 	.ent " #tramp_name "
 " #tramp_name ":
-	lda	$sp, -168($sp)
-	.frame	$sp, 168, $26
+	lda	$sp, -44*8($sp)
+	.frame	$sp, 44*8, $26
 	/* Preserve all integer registers that C normally doesn't.  */
-	stq	$26, 0($sp)
-	stq	$0, 8($sp)
-	stq	$1, 16($sp)
-	stq	$2, 24($sp)
-	stq	$3, 32($sp)
-	stq	$4, 40($sp)
-	stq	$5, 48($sp)
-	stq	$6, 56($sp)
-	stq	$7, 64($sp)
-	stq	$8, 72($sp)
-	stq	$16, 80($sp)
-	stq	$17, 88($sp)
-	stq	$18, 96($sp)
-	stq	$19, 104($sp)
-	stq	$20, 112($sp)
-	stq	$21, 120($sp)
-	stq	$22, 128($sp)
-	stq	$23, 136($sp)
-	stq	$24, 144($sp)
-	stq	$25, 152($sp)
-	stq	$29, 160($sp)
-	.mask	0x27ff01ff, -168
+	stq	$26, 0*8($sp)
+	stq	$0, 1*8($sp)
+	stq	$1, 2*8($sp)
+	stq	$2, 3*8($sp)
+	stq	$3, 4*8($sp)
+	stq	$4, 5*8($sp)
+	stq	$5, 6*8($sp)
+	stq	$6, 7*8($sp)
+	stq	$7, 8*8($sp)
+	stq	$8, 9*8($sp)
+	stq	$16, 10*8($sp)
+	stq	$17, 11*8($sp)
+	stq	$18, 12*8($sp)
+	stq	$19, 13*8($sp)
+	stq	$20, 14*8($sp)
+	stq	$21, 15*8($sp)
+	stq	$22, 16*8($sp)
+	stq	$23, 17*8($sp)
+	stq	$24, 18*8($sp)
+	stq	$25, 19*8($sp)
+	stq	$29, 20*8($sp)
+	stt	$f0, 21*8($sp)
+	stt	$f1, 22*8($sp)
+	stt	$f10, 23*8($sp)
+	stt	$f11, 24*8($sp)
+	stt	$f12, 25*8($sp)
+	stt	$f13, 26*8($sp)
+	stt	$f14, 27*8($sp)
+	stt	$f15, 28*8($sp)
+	stt	$f16, 29*8($sp)
+	stt	$f17, 30*8($sp)
+	stt	$f18, 31*8($sp)
+	stt	$f19, 32*8($sp)
+	stt	$f20, 33*8($sp)
+	stt	$f21, 34*8($sp)
+	stt	$f22, 35*8($sp)
+	stt	$f23, 36*8($sp)
+	stt	$f24, 37*8($sp)
+	stt	$f25, 38*8($sp)
+	stt	$f26, 39*8($sp)
+	stt	$f27, 40*8($sp)
+	stt	$f28, 41*8($sp)
+	stt	$f29, 42*8($sp)
+	stt	$f30, 43*8($sp)
+	.mask	0x27ff01ff, -44*8
+	.fmask	0xfffffc03, -(44-21)*8
 	/* Set up our $gp */
 	br	$gp, .+4
 	ldgp	$gp, 0($gp)
@@ -177,31 +201,54 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 	/* Move the destination address into position.  */
 	mov	$0, $27
 	/* Restore program registers.  */
-	ldq	$26, 0($sp)
-	ldq	$0, 8($sp)
-	ldq	$1, 16($sp)
-	ldq	$2, 24($sp)
-	ldq	$3, 32($sp)
-	ldq	$4, 40($sp)
-	ldq	$5, 48($sp)
-	ldq	$6, 56($sp)
-	ldq	$7, 64($sp)
-	ldq	$8, 72($sp)
-	ldq	$16, 80($sp)
-	ldq	$17, 88($sp)
-	ldq	$18, 96($sp)
-	ldq	$19, 104($sp)
-	ldq	$20, 112($sp)
-	ldq	$21, 120($sp)
-	ldq	$22, 128($sp)
-	ldq	$23, 136($sp)
-	ldq	$24, 144($sp)
-	ldq	$25, 152($sp)
-	ldq	$29, 160($sp)
+	ldq	$26, 0*8($sp)
+	ldq	$0, 1*8($sp)
+	ldq	$1, 2*8($sp)
+	ldq	$2, 3*8($sp)
+	ldq	$3, 4*8($sp)
+	ldq	$4, 5*8($sp)
+	ldq	$5, 6*8($sp)
+	ldq	$6, 7*8($sp)
+	ldq	$7, 8*8($sp)
+	ldq	$8, 9*8($sp)
+	ldq	$16, 10*8($sp)
+	ldq	$17, 11*8($sp)
+	ldq	$18, 12*8($sp)
+	ldq	$19, 13*8($sp)
+	ldq	$20, 14*8($sp)
+	ldq	$21, 15*8($sp)
+	ldq	$22, 16*8($sp)
+	ldq	$23, 17*8($sp)
+	ldq	$24, 18*8($sp)
+	ldq	$25, 19*8($sp)
+	ldq	$29, 20*8($sp)
+	ldt	$f0, 21*8($sp)
+	ldt	$f1, 22*8($sp)
+	ldt	$f10, 23*8($sp)
+	ldt	$f11, 24*8($sp)
+	ldt	$f12, 25*8($sp)
+	ldt	$f13, 26*8($sp)
+	ldt	$f14, 27*8($sp)
+	ldt	$f15, 28*8($sp)
+	ldt	$f16, 29*8($sp)
+	ldt	$f17, 30*8($sp)
+	ldt	$f18, 31*8($sp)
+	ldt	$f19, 32*8($sp)
+	ldt	$f20, 33*8($sp)
+	ldt	$f21, 34*8($sp)
+	ldt	$f22, 35*8($sp)
+	ldt	$f23, 36*8($sp)
+	ldt	$f24, 37*8($sp)
+	ldt	$f25, 38*8($sp)
+	ldt	$f26, 39*8($sp)
+	ldt	$f27, 40*8($sp)
+	ldt	$f28, 41*8($sp)
+	ldt	$f29, 42*8($sp)
+	ldt	$f30, 43*8($sp)
 	/* Flush the Icache after having modified the .plt code.  */
 	" #IMB "
 	/* Clean up and turn control to the destination */
-	lda	$sp, 168($sp)
+	lda	$sp, 44*8($sp)
 	jmp	$31, ($27)
 	.end " #tramp_name)