aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf/alpha/reloc.c
diff options
context:
space:
mode:
authorJohn Polstra <jdp@FreeBSD.org>1999-04-09 00:28:43 +0000
committerJohn Polstra <jdp@FreeBSD.org>1999-04-09 00:28:43 +0000
commitd5b537d01a6711c4426da2a627b11a71cf3b11e8 (patch)
treefb707dedb5110cb675ca69b3f246fd2e79ffce0d /libexec/rtld-elf/alpha/reloc.c
parentc98a60baa7fa0f18b4e19106ec135031c0d51723 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf/alpha/reloc.c')
-rw-r--r--libexec/rtld-elf/alpha/reloc.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libexec/rtld-elf/alpha/reloc.c b/libexec/rtld-elf/alpha/reloc.c
index c88162c97efa..e5837b81ec6a 100644
--- a/libexec/rtld-elf/alpha/reloc.c
+++ b/libexec/rtld-elf/alpha/reloc.c
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: reloc.c,v 1.2 1998/09/08 09:47:35 dfr Exp $
+ * $Id: reloc.c,v 1.3 1998/09/11 18:30:55 dfr Exp $
*/
/*
@@ -307,3 +307,16 @@ do_copy_relocations(Obj_Entry *dstobj)
return 0;
}
+
+/* Initialize the special PLT entries. */
+void
+init_pltgot(Obj_Entry *obj)
+{
+ if (obj->pltgot != NULL &&
+ (obj->pltrelsize != 0 || obj->pltrelasize != 0)) {
+ /* This function will be called to perform the relocation. */
+ obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start;
+ /* Identify this shared object */
+ obj->pltgot[3] = (Elf_Addr) obj;
+ }
+}