OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [uClibc/] [ldso/] [ldso/] [mips/] [resolve.S] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1325 phoenix
        /*
2
 * Linux dynamic resolving code for MIPS. Fixes up the GOT entry as
3
 * indicated in register t8 and jumps to the resolved address. Shamelessly
4
 * ripped from 'sysdeps/mips/dl-machine.h' in glibc-2.2.5.
5
 *
6
 * This file is subject to the terms and conditions of the GNU Lesser General
7
 * Public License.  See the file "COPYING.LIB" in the main directory of this
8
 * archive for more details.
9
 *
10
 * Copyright (C) 1996-2001 Kazumoto Kojima 
11
 * Copyright (C) 2002 Steven J. Hill 
12
 *
13
 */
14
.text
15
.align  2
16
.globl  _dl_linux_resolve
17
.type   _dl_linux_resolve,@function
18
.ent    _dl_linux_resolve
19
_dl_linux_resolve:
20
        .frame  $29, 40, $31
21
        .set noreorder
22
        move    $3, $28         # Save GP
23
        addu    $25, 8          # t9 ($25) now points at .cpload instruction
24
        .cpload $25             # Compute GP
25
        .set reorder
26
        subu    $29, 40
27
        .cprestore 32
28
        sw      $15, 36($29)
29
        sw      $4, 16($29)
30
        sw      $5, 20($29)
31
        sw      $6, 24($29)
32
        sw      $7, 28($29)
33
        move    $4, $24
34
        move    $5, $3
35
        jal     _dl_linux_resolver
36
        lw      $31, 36($29)
37
        lw      $4, 16($29)
38
        lw      $5, 20($29)
39
        lw      $6, 24($29)
40
        lw      $7, 28($29)
41
        addu    $29, 40
42
        move    $25, $2
43
        jr      $25
44
.size _dl_linux_resolve,.-_dl_linux_resolve
45
.end _dl_linux_resolve

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.