aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/m68k/dl-trampoline.S
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-02-28 10:18:39 +0000
committerRoland McGrath <roland@gnu.org>2006-02-28 10:18:39 +0000
commit14d44b191fb0980b22002b79a53ff2dda3120772 (patch)
tree120dc27ef68440085b083b9198913b5305c84317 /sysdeps/m68k/dl-trampoline.S
parenta5f2bd861c4c84ac66164951a7f32e1d6f57849c (diff)
downloadglibc-14d44b191fb0980b22002b79a53ff2dda3120772.zip
glibc-14d44b191fb0980b22002b79a53ff2dda3120772.tar.gz
glibc-14d44b191fb0980b22002b79a53ff2dda3120772.tar.bz2
* sysdeps/hppa: Directory removed, saved in ports repository.
* sysdeps/mach/hppa: Likewise. * sysdeps/mach/hurd/hppa: Likewise. * sysdeps/unix/sysv/linux/hppa: Likewise. * configure.in (machine): Remove hppa* cases. * configure: Regenerated. * shlib-versions: Remove hppa cases. * sysdeps/m68k: Directory removed, saved in ports repository. * sysdeps/unix/bsd/m68k: Likewise. * sysdeps/unix/sysv/linux/m68k: Likewise. * configure.in (machine): Remove m68* cases. * configure: Regenerated.
Diffstat (limited to 'sysdeps/m68k/dl-trampoline.S')
-rw-r--r--sysdeps/m68k/dl-trampoline.S129
1 files changed, 0 insertions, 129 deletions
diff --git a/sysdeps/m68k/dl-trampoline.S b/sysdeps/m68k/dl-trampoline.S
deleted file mode 100644
index 8791280..0000000
--- a/sysdeps/m68k/dl-trampoline.S
+++ /dev/null
@@ -1,129 +0,0 @@
-/* PLT trampolines. m68k version.
- Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <sysdep.h>
-
- .text
- .globl _dl_runtime_resolve
- .type _dl_runtime_resolve, @function
-_dl_runtime_resolve:
- | Save %a0 (struct return address) and %a1.
- move.l %a0, -(%sp)
- move.l %a1, -(%sp)
- | Call the real address resolver.
- jbsr _dl_fixup
- | Restore register %a0 and %a1.
- move.l (%sp)+, %a1
- move.l (%sp)+, %a0
- | Pop parameters
- addq.l #8, %sp
- | Call real function.
- jmp (%d0)
- .size _dl_runtime_resolve, . - _dl_runtime_resolve
-
- .text
- .globl _dl_runtime_profile
- .type _dl_runtime_profile, @function
-_dl_runtime_profile:
- pea 8(%sp)
- move.l %a1, -(%sp)
- move.l %a0, -(%sp)
- pea -1.w
- | Push parameters for _dl_profile_fixup
- pea (%sp)
- pea 8(%sp)
- move.l 32(%sp), -(%sp)
- move.l 32(%sp), -(%sp)
- move.l 32(%sp), -(%sp)
- subq.l #8, %sp
- | Call the real address resolver.
- jbsr _dl_profile_fixup
- | Pop parameters
- lea 28(%sp), %sp
- move.l (%sp), %d1
- jpl 1f
- addq.l #4, %sp
- | Restore register %a0 and %a1.
- move.l (%sp)+, %a0
- move.l (%sp)+, %a1
- lea 12(%sp), %sp
- | Call real function.
- jmp (%d0)
-
- /*
- +24 return address
- +20 PLT1
- +16 PLT2
- +12 %sp
- +8 %a1
- +4 %a0
- %sp free
- */
-1: move.l %a2, (%sp)
- move.l %sp, %a2
- move.l %sp, %a0
- lea 28(%sp), %a1
- | Round framesize up to even
- addq.l #1, %d1
- lsr #1, %d1
- sub.l %d1, %a0
- sub.l %d1, %a0
- move.l %a0, %sp
- jra 2f
-1: move.w (%a1)+, (%a0)+
-2: dbra %d1,1b
- /*
- %a2+24 return address
- %a2+20 PLT1
- %a2+16 PLT2
- %a2+12 %sp
- %a2+8 %a1
- %a2+4 %a0
- %a2 %a2
- %sp copied stack frame
- */
-
- move.l 4(%a2), %a0
- move.l 8(%a2), %a1
- jsr (%d0)
- move.l %a2, %sp
- move.l (%sp)+, %a2
- /*
- +20 return address
- +16 PLT1
- +12 PLT2
- +8 %sp
- +4 %a1
- %sp %a0
- */
- fmove.x %fp0, -(%sp)
- move.l %d1, -(%sp)
- move.l %d0, -(%sp)
- pea (%sp)
- pea 20(%sp)
- move.l 40(%sp), -(%sp)
- move.l 40(%sp), -(%sp)
- jbsr _dl_call_pltexit
- lea 16(%sp), %sp
- move.l (%sp)+, %d0
- move.l (%sp)+, %d1
- fmove.x (%sp)+, %fp0
- lea 20(%sp), %sp
- rts
- .size _dl_runtime_profile, . - _dl_runtime_profile