diff options
Diffstat (limited to 'ldso')
-rw-r--r-- | ldso/ldso/arm/resolve.S | 2 | ||||
-rw-r--r-- | ldso/ldso/cris/resolve.S | 27 | ||||
-rw-r--r-- | ldso/ldso/frv/resolve.S | 4 | ||||
-rw-r--r-- | ldso/ldso/i386/resolve.S | 4 | ||||
-rw-r--r-- | ldso/ldso/mips/resolve.S | 2 | ||||
-rw-r--r-- | ldso/ldso/powerpc/resolve.S | 25 | ||||
-rw-r--r-- | ldso/ldso/sh64/resolve.S | 6 |
7 files changed, 22 insertions, 48 deletions
diff --git a/ldso/ldso/arm/resolve.S b/ldso/ldso/arm/resolve.S index 508203765..8b51ed1c7 100644 --- a/ldso/ldso/arm/resolve.S +++ b/ldso/ldso/arm/resolve.S @@ -14,7 +14,7 @@ * that to us. Once we have that, we overwrite tpnt with this fixed up * address. We then clean up after ourselves, put all the registers back how we * found them, then we jump to the fixed up address, which is where the jump - * symbol that got us here really wanted to jump to in the first place. + * symbol that got us here really wanted to jump to in the first place. * -Erik Andersen */ diff --git a/ldso/ldso/cris/resolve.S b/ldso/ldso/cris/resolve.S index fff21382b..9d2f079fe 100644 --- a/ldso/ldso/cris/resolve.S +++ b/ldso/ldso/cris/resolve.S @@ -1,19 +1,18 @@ /* - * This function is _not_ called directly. It is jumped to from PLT when - * attempting to use a symbol that has not yet been resolved. The first - * time a jump symbol (such as a function call inside a shared library) - * is used (before it gets resolved) it will jump here. When we get called - * the stack contains reloc_offset and tpnt is in MOF. + * This function is _not_ called directly. It is jumped to from PLT when + * attempting to use a symbol that has not yet been resolved. The first time a + * jump symbol (such as a function call inside a shared library) is used + * (before it gets resolved) it will jump here. When we get called the stack + * contains reloc_offset and tpnt is in MOF. * - * We save all the registers, setup R10 and R11 with the right arguments - * then call _dl_linux_resolver(tpnt, reloc_offset). _dl_linux_resolver() - * figures out where the jump symbol is _really_ supposed to have jumped to - * and returns that to us. Once we have that, we overwrite tpnt with this - * fixed up address. We then clean up after ourselves, put all the registers - * back how we found them, then we jump to where the fixed up address, which - * is where the jump symbol that got us here really wanted to jump to in the - * first place. - */ + * We save all the registers, setup R10 and R11 with the right arguments then + * call _dl_linux_resolver(tpnt, reloc_offset). _dl_linux_resolver() figures + * out where the jump symbol is _really_ supposed to have jumped to and returns + * that to us. Once we have that, we overwrite tpnt with this fixed up + * address. We then clean up after ourselves, put all the registers back how we + * found them, then we jump to where the fixed up address, which is where the + * jump symbol that got us here really wanted to jump to in the first place. + */ .globl _dl_linux_resolve .type _dl_linux_resolve,@function diff --git a/ldso/ldso/frv/resolve.S b/ldso/ldso/frv/resolve.S index d9706c746..dd56970db 100644 --- a/ldso/ldso/frv/resolve.S +++ b/ldso/ldso/frv/resolve.S @@ -17,7 +17,7 @@ You should have received a copy of the GNU Lesser General Public License along with uClibc; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - + /* The function below is tail-called by resolver stubs when a lazily-bound function is called. It must preserve all registers that could be used to pass arguments to the actual @@ -54,7 +54,7 @@ _dl_linux_resolve: ldi @(gr14, -4), gr9 mov.p gr5, gr15 call _dl_linux_resolver - + /* Move aside return value that contains the FUNCDESC_VALUE. */ ldd @(gr8,gr0),gr14 diff --git a/ldso/ldso/i386/resolve.S b/ldso/ldso/i386/resolve.S index 60bd3ff3d..c9880999c 100644 --- a/ldso/ldso/i386/resolve.S +++ b/ldso/ldso/i386/resolve.S @@ -16,7 +16,7 @@ * found them, then we jump to where the fixed up address, which is where the * jump symbol that got us here really wanted to jump to in the first place. * found them, then we jump to the fixed up address, which is where the jump - * symbol that got us here really wanted to jump to in the first place. + * symbol that got us here really wanted to jump to in the first place. * -Erik Andersen */ @@ -31,7 +31,7 @@ _dl_linux_resolve: lea 0x20(%esp),%eax /* eax = tpnt and reloc_entry params */ pushl 4(%eax) /* push copy of reloc_entry param */ pushl (%eax) /* push copy of tpnt param */ - + #ifdef __PIC__ call .L24 .L24: diff --git a/ldso/ldso/mips/resolve.S b/ldso/ldso/mips/resolve.S index f45b9fd53..293e4a642 100644 --- a/ldso/ldso/mips/resolve.S +++ b/ldso/ldso/mips/resolve.S @@ -1,4 +1,4 @@ - /* +/* * Linux dynamic resolving code for MIPS. Fixes up the GOT entry as * indicated in register t8 and jumps to the resolved address. Shamelessly * ripped from 'sysdeps/mips/dl-machine.h' in glibc-2.2.5. diff --git a/ldso/ldso/powerpc/resolve.S b/ldso/ldso/powerpc/resolve.S index 9193636fc..03c6a79b8 100644 --- a/ldso/ldso/powerpc/resolve.S +++ b/ldso/ldso/powerpc/resolve.S @@ -55,28 +55,3 @@ _dl_linux_resolve: .LFE2: .size _dl_linux_resolve,.LFE2-_dl_linux_resolve -#if 0 - - pusha /* preserve all regs */ - lea 0x20(%esp),%eax /* eax = tpnt and reloc_entry params */ - pushl 4(%eax) /* push copy of reloc_entry param */ - pushl (%eax) /* push copy of tpnt param */ - -#ifdef __PIC__ - call .L24 -.L24: - popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-.L24],%ebx - movl _dl_linux_resolver@GOT(%ebx),%ebx /* eax = resolved func */ - call *%ebx -#else - call _dl_linux_resolver -#endif - movl %eax,0x28(%esp) /* store func addr over original - * tpnt param */ - addl $0x8,%esp /* remove copy parameters */ - popa /* restore regs */ - ret $4 /* jump to func removing original - * reloc_entry param from stack */ -#endif - diff --git a/ldso/ldso/sh64/resolve.S b/ldso/ldso/sh64/resolve.S index f57b082bf..ca915d2ef 100644 --- a/ldso/ldso/sh64/resolve.S +++ b/ldso/ldso/sh64/resolve.S @@ -1,7 +1,7 @@ /* vi: set sw=8 ts=8: */ -/* +/* * ldso/ldso/sh64/resolve.S - * + * * SuperH (sh64) dynamic resolver support * * Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org> @@ -67,7 +67,7 @@ _dl_linux_resolve: add r21, r63, r3 ! GOT offset blink tr0, r18 ! call _dl_linux_resolver() ptabs/l r2, tr0 ! save result = addr of function called - + #ifdef HAVE_FPU fld.d r15, 0, dr0 ! restore FP regs fld.d r15, 8, dr2 |