1 /* PLT trampolines. m68k version.
2 Copyright (C) 2005 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
23 .globl _dl_runtime_resolve
24 .type _dl_runtime_resolve, @function
26 | Save %a0 (struct return address) and %a1.
29 | Call the real address resolver.
31 | Restore register %a0 and %a1.
43 .size _dl_runtime_resolve, . - _dl_runtime_resolve
46 .globl _dl_runtime_profile
47 .type _dl_runtime_profile, @function
53 | Push parameters for _dl_profile_fixup
56 move.l 32(%sp), -(%sp)
57 move.l 32(%sp), -(%sp)
58 move.l 32(%sp), -(%sp)
60 | Call the real address resolver.
61 jbsr _dl_profile_fixup
67 | Restore register %a0 and %a1.
92 | Round framesize up to longword alignment
100 1: move.l (%a0)+, (%a1)+
107 1: move.l (%a1)+, (%a0)+
111 %a2+24 return address
118 %sp copied stack frame
141 #if !defined (__mcoldfire__)
143 #elif defined (__mcffpu__)
155 move.l 40(%sp), -(%sp)
156 move.l 40(%sp), -(%sp)
159 move.l 44(%sp), -(%sp)
160 move.l 44(%sp), -(%sp)
162 jbsr _dl_call_pltexit
167 #if !defined (__mcoldfire__)
170 #elif defined (__mcffpu__)
177 .size _dl_runtime_profile, . - _dl_runtime_profile