Remove vestigal comments about _rtld_bind_start_0() -- it works now.

This commit is contained in:
mycroft 2002-09-26 02:25:57 +00:00
parent 26043b23b0
commit ee398b4d07
2 changed files with 7 additions and 34 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: mdreloc.c,v 1.29 2002/09/26 02:14:10 mycroft Exp $ */
/* $NetBSD: mdreloc.c,v 1.30 2002/09/26 02:25:57 mycroft Exp $ */
/*-
* Copyright (c) 2000 Eduardo Horvath.
@ -239,22 +239,6 @@ _rtld_install_plt(pltgot, proc)
pltgot[7] = MOV_g1_o1;
}
#if 0
long _rtld_bind_start_0_stub __P((long x, long y));
long
_rtld_bind_start_0_stub(y, x)
long y, x;
{
long i;
long n;
i = x - y + 8 - 32768*32;
n = 32768 + (i/5120)*160 + (i%5120)/24;
return (n);
}
#endif
void
_rtld_setup_pltgot(const Obj_Entry *obj)
{

View File

@ -1,4 +1,4 @@
/* $NetBSD: rtld_start.S,v 1.13 2002/09/26 02:14:10 mycroft Exp $ */
/* $NetBSD: rtld_start.S,v 1.14 2002/09/26 02:25:57 mycroft Exp $ */
/*-
* Copyright (c) 2000 Eduardo Horvath.
@ -101,44 +101,34 @@ _rtld_start:
* We have two separate entry points to the runtime linker.
* I'm implementing this following the SPARC v9 ABI spec.
*
* _rtld_bind_start_0(x, y) is called from .PLT0, and is used for
* _rtld_bind_start_0(y, x) is called from .PLT0, and is used for
* PLT entries above 32768.
*
* _rtld_bind_start_1(x, y) is called from .PLT1, and is used for
* _rtld_bind_start_1(y, x) is called from .PLT1, and is used for
* PLT entries below 32768.
*
* The first two entries of PLT2 contain the xword object pointer.
*
* These routines are called with two longword arguments,
* x and y. To calculate the address of the entry,
* _rtld_bind_start_1(x, y) does:
* _rtld_bind_start_1(y, x) does:
*
* n = x >> 15;
*
* and _rtld_bind_start_0(x, y) does:
* and _rtld_bind_start_0(y, x) does:
*
* i = x - y + 1048596;
* i = x - y + 8 - 32768*32;
* n = 32768 + (i/5120)*160 + (i%5120)/24;
*
* Neither routine needs to issue a save since it's already been
* done in the PLT entry.
*/
/* NOTE: _rtld_bind_start_0 is untested. Hence the debug stuff */
.section ".text"
.align 4
.global _rtld_bind_start_0
.type _rtld_bind_start_0,@function
_rtld_bind_start_0: # (y, x)
#if 0
call _rtld_bind_start_0_stub
ldx [%o0 + (10*4)], %l7
mov %o0, %o1
call _rtld_bind
mov %l7, %o0
#else
/* %o0 = obj->pltgot[6] */
/* %o1 = plt[4] */
/* %o1 - %o0 + 8 == offset of plt[] from obj->pltgot[] */
@ -174,7 +164,6 @@ _rtld_bind_start_0: # (y, x)
jmp %o0 /* return value == function address */
restore /* Dump our stack frame */
#endif
.section ".text"
.align 4