OSDN Git Service

Replace FSF snail mail address with URLs
[uclinux-h8/uClibc.git] / ldso / ldso / microblaze / resolve.S
1
2 /* This code is used in dl-runtime.c to call the `fixup' function
3    and then redirect to the address it returns. */
4 /* We assume that R3 contain relocation offset and R4 contains
5    link_map (_DYNAMIC). This must be consistent with the JUMP_SLOT
6    layout generated by binutils. */
7
8 /* Based on glibc 2.3.6, dl-machine.h */
9 /*
10    The GNU C Library is free software; you can redistribute it and/or
11    modify it under the terms of the GNU Lesser General Public
12    License as published by the Free Software Foundation; either
13    version 2.1 of the License, or (at your option) any later version.
14
15    The GNU C Library is distributed in the hope that it will be useful,
16    but WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18    Lesser General Public License for more details.
19
20    You should have received a copy of the GNU Lesser General Public
21    License along with the GNU C Library; if not, see
22    <http://www.gnu.org/licenses/>.  */
23
24 .text
25 .align 4
26 .globl _dl_linux_resolver
27 .globl _dl_linux_resolve
28 .type  _dl_linux_resolve,@function
29
30 _dl_linux_resolve:
31     addik r1,r1,-40
32     swi   r5,r1,12
33     swi   r6,r1,16
34     swi   r7,r1,20
35     swi   r8,r1,24
36     swi   r9,r1,28
37     swi   r10,r1,32
38     swi   r15,r1,0
39     addk r5,r0,r4
40     brlid r15, _dl_linux_resolver
41     addk r6,r0,r3; /* delay slot */
42     lwi   r10,r1,32
43     lwi   r9,r1,28
44     lwi   r8,r1,24
45     lwi   r7,r1,20
46     lwi   r6,r1,16
47     lwi   r5,r1,12
48     lwi   r15,r1,0
49     brad  r3
50     addik r1,r1,40; /* delay slot */
51     .size _dl_linux_resolve, . - _dl_linux_resolve