[uClibc-cvs] CVS update of uClibc/ldso/ldso (arm/resolve.S cris/resolve.S frv/resolve.S i386/resolve.S mips/resolve.S powerpc/resolve.S sh64/resolve.S)
Erik Andersen
andersen at codepoet.org
Fri Jul 30 03:31:31 UTC 2004
Date: Thursday, July 29, 2004 @ 21:31:31
Author: andersen
Path: /var/cvs/uClibc/ldso/ldso
Modified: arm/resolve.S (1.4 -> 1.5) cris/resolve.S (1.2 -> 1.3)
frv/resolve.S (1.1 -> 1.2) i386/resolve.S (1.5 -> 1.6)
mips/resolve.S (1.4 -> 1.5) powerpc/resolve.S (1.1 -> 1.2)
sh64/resolve.S (1.1 -> 1.2)
Whitespace cleanup
Index: uClibc/ldso/ldso/arm/resolve.S
diff -u uClibc/ldso/ldso/arm/resolve.S:1.4 uClibc/ldso/ldso/arm/resolve.S:1.5
--- uClibc/ldso/ldso/arm/resolve.S:1.4 Mon Aug 12 03:03:30 2002
+++ uClibc/ldso/ldso/arm/resolve.S Thu Jul 29 21:31:28 2004
@@ -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
*/
Index: uClibc/ldso/ldso/cris/resolve.S
diff -u uClibc/ldso/ldso/cris/resolve.S:1.2 uClibc/ldso/ldso/cris/resolve.S:1.3
--- uClibc/ldso/ldso/cris/resolve.S:1.2 Mon May 10 06:59:17 2004
+++ uClibc/ldso/ldso/cris/resolve.S Thu Jul 29 21:31:28 2004
@@ -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, at function
Index: uClibc/ldso/ldso/frv/resolve.S
diff -u uClibc/ldso/ldso/frv/resolve.S:1.1 uClibc/ldso/ldso/frv/resolve.S:1.2
--- uClibc/ldso/ldso/frv/resolve.S:1.1 Wed Feb 18 01:04:49 2004
+++ uClibc/ldso/ldso/frv/resolve.S Thu Jul 29 21:31:29 2004
@@ -17,7 +17,7 @@
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 @@
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
Index: uClibc/ldso/ldso/i386/resolve.S
diff -u uClibc/ldso/ldso/i386/resolve.S:1.5 uClibc/ldso/ldso/i386/resolve.S:1.6
--- uClibc/ldso/ldso/i386/resolve.S:1.5 Thu Jun 14 15:51:51 2001
+++ uClibc/ldso/ldso/i386/resolve.S Thu Jul 29 21:31:29 2004
@@ -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 @@
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:
Index: uClibc/ldso/ldso/mips/resolve.S
diff -u uClibc/ldso/ldso/mips/resolve.S:1.4 uClibc/ldso/ldso/mips/resolve.S:1.5
--- uClibc/ldso/ldso/mips/resolve.S:1.4 Thu Jan 30 09:40:26 2003
+++ uClibc/ldso/ldso/mips/resolve.S Thu Jul 29 21:31:30 2004
@@ -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.
Index: uClibc/ldso/ldso/powerpc/resolve.S
diff -u uClibc/ldso/ldso/powerpc/resolve.S:1.1 uClibc/ldso/ldso/powerpc/resolve.S:1.2
--- uClibc/ldso/ldso/powerpc/resolve.S:1.1 Thu Jul 12 04:14:09 2001
+++ uClibc/ldso/ldso/powerpc/resolve.S Thu Jul 29 21:31:30 2004
@@ -55,28 +55,3 @@
.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 at 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
-
Index: uClibc/ldso/ldso/sh64/resolve.S
diff -u uClibc/ldso/ldso/sh64/resolve.S:1.1 uClibc/ldso/ldso/sh64/resolve.S:1.2
--- uClibc/ldso/ldso/sh64/resolve.S:1.1 Wed Dec 17 01:07:14 2003
+++ uClibc/ldso/ldso/sh64/resolve.S Thu Jul 29 21:31:31 2004
@@ -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 at linux-sh.org>
@@ -67,7 +67,7 @@
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
More information about the uClibc-cvs
mailing list