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.
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING.LIB" in the main directory of this archive
10 * Copyright (C) 1996-2001 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
11 * Copyright (C) 2002 Steven J. Hill <sjhill@realitydiluted.com>
16 .globl _dl_linux_resolve
17 .type _dl_linux_resolve,@function
18 .ent _dl_linux_resolve
22 move $3, $28 # Save GP
23 addu $25, 8 # t9 ($25) now points at .cpload instruction
24 .cpload $25 # Compute GP
26 move $2, $31 # Save slot call pc
27 subu $29, 40 # Save arguments and sp value in stack
38 jal _dl_linux_resolver
47 .size _dl_linux_resolve,.-_dl_linux_resolve
48 .end _dl_linux_resolve