diff options
author | kan <kan@FreeBSD.org> | 2003-05-29 22:58:26 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2003-05-29 22:58:26 +0000 |
commit | 949c40c5fd683b40f39ebfa2783d06b8226148ab (patch) | |
tree | b9989a6b77c2c503eafdb3cf6bf13370f5c6396b /libexec/rtld-elf/powerpc/rtld_start.S | |
parent | b292a2679ee1e9385409c38e0e898f0c2f4cb41c (diff) | |
download | FreeBSD-src-949c40c5fd683b40f39ebfa2783d06b8226148ab.zip FreeBSD-src-949c40c5fd683b40f39ebfa2783d06b8226148ab.tar.gz |
Allow threading libraries to register their own locking
implementation in case default one provided by rtld is
not suitable.
Consolidate various identical MD lock implementation into
a single file using appropriate machine/atomic.h.
Approved by: re (scottl)
Diffstat (limited to 'libexec/rtld-elf/powerpc/rtld_start.S')
-rw-r--r-- | libexec/rtld-elf/powerpc/rtld_start.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libexec/rtld-elf/powerpc/rtld_start.S b/libexec/rtld-elf/powerpc/rtld_start.S index 040b663..86f76e6 100644 --- a/libexec/rtld-elf/powerpc/rtld_start.S +++ b/libexec/rtld-elf/powerpc/rtld_start.S @@ -33,10 +33,10 @@ .extern _GLOBAL_OFFSET_TABLE_ .extern _DYNAMIC - + _ENTRY(.rtld_start) - stwu %r1,-48(%r1) /* 16-byte aligned stack for reg saves + - exit_proc & obj _rtld args + + stwu %r1,-48(%r1) /* 16-byte aligned stack for reg saves + + exit_proc & obj _rtld args + backchain & lrsave stack frame */ stw %r3,16(%r1) /* argc */ stw %r4,20(%r1) /* argv */ @@ -71,7 +71,7 @@ _ENTRY(.rtld_start) sync icbi %r0,%r4 isync - + lwz %r4,0(%r3) /* offset to _DYNAMIC */ add %r3,%r4,%r3 /* r3 = &_DYNAMIC, absolute value */ @@ -79,7 +79,7 @@ _ENTRY(.rtld_start) mflr %r4 /* &_GLOBAL_OFFSET_TABLE_, absolute value */ lwz %r4,0(%r4) /* linker &_DYNAMIC, from got[0] */ subf %r4,%r4,%r3 /* subtract to calculate relocbase */ - + bl reloc_non_plt_self@plt /* reloc_non_plt_self(&_DYNAMIC,base) */ /* @@ -190,5 +190,5 @@ _ENTRY(_rtld_powerpc_pltcall) lwz %r11,0(%r11) # lwz 11,jmptab@l(11) mtctr %r11 bctr # (*jmptab[index])() - + |