Preserve r2 in _rtld_bind_start - in r2 functions that return

aggregate types are passed the address of the memory area to store the
returned result to.

Fixes PR port-sh3/26949.
This commit is contained in:
uwe 2004-09-14 21:34:01 +00:00
parent 2db688402b
commit 255de8f40e
1 changed files with 5 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: rtld_start.S,v 1.3 2003/06/30 00:50:47 marcus Exp $ */
/* $NetBSD: rtld_start.S,v 1.4 2004/09/14 21:34:01 uwe Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@ -92,7 +92,8 @@
.globl _rtld_bind_start
.type _rtld_bind_start,@function
_rtld_bind_start: /* r0 = obj, r1 = reloff */
mov.l r3,@-r15 /* save registers */
mov.l r2,@-r15 /* save registers */
mov.l r3,@-r15
mov.l r4,@-r15
mov.l r5,@-r15
mov.l r6,@-r15
@ -113,8 +114,9 @@ _rtld_bind_start: /* r0 = obj, r1 = reloff */
mov.l @r15+,r6
mov.l @r15+,r5
mov.l @r15+,r4
jmp @r0
mov.l @r15+,r3
jmp @r0
mov.l @r15+,r2
.align 2
2: .long _rtld_bind-4b
.size _rtld_bind_start,.-_rtld_bind_start