Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so/arch/sh3 Preserve r2 in _rtld_bind_start -...



details:   https://anonhg.NetBSD.org/src/rev/18fdcbfa269a
branches:  trunk
changeset: 569973:18fdcbfa269a
user:      uwe <uwe%NetBSD.org@localhost>
date:      Tue Sep 14 21:34:01 2004 +0000

description:
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.

diffstat:

 libexec/ld.elf_so/arch/sh3/rtld_start.S |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (30 lines):

diff -r 2e8394347aa6 -r 18fdcbfa269a libexec/ld.elf_so/arch/sh3/rtld_start.S
--- a/libexec/ld.elf_so/arch/sh3/rtld_start.S   Tue Sep 14 20:32:48 2004 +0000
+++ b/libexec/ld.elf_so/arch/sh3/rtld_start.S   Tue Sep 14 21:34:01 2004 +0000
@@ -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 @@
        mov.l   @r15+,r6
        mov.l   @r15+,r5
        mov.l   @r15+,r4
+       mov.l   @r15+,r3
        jmp     @r0
-       mov.l   @r15+,r3
+       mov.l   @r15+,r2
        .align  2
 2:     .long   _rtld_bind-4b
        .size   _rtld_bind_start,.-_rtld_bind_start



Home | Main Index | Thread Index | Old Index