summaryrefslogtreecommitdiff
path: root/libexec/ld.so/alpha/ldasm.S
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2018-11-12 02:33:43 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2018-11-12 02:33:43 +0000
commit20650eb689032e7a60eb34c08db16920b9e92c2c (patch)
tree3ce57d213582d50effb58b50fd5fc35481b76ae4 /libexec/ld.so/alpha/ldasm.S
parentab2e40ddfae349994e8fb8c4589b0af0180b9a91 (diff)
Delete support for non-secureplt binaries. The secure PLT format has been
the default for years and ports doesn't appear to have anything patching to use the old format. ok deraadt@
Diffstat (limited to 'libexec/ld.so/alpha/ldasm.S')
-rw-r--r--libexec/ld.so/alpha/ldasm.S91
1 files changed, 1 insertions, 90 deletions
diff --git a/libexec/ld.so/alpha/ldasm.S b/libexec/ld.so/alpha/ldasm.S
index 73c3e16512a..ebb507b0d70 100644
--- a/libexec/ld.so/alpha/ldasm.S
+++ b/libexec/ld.so/alpha/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.40 2017/08/27 21:59:52 deraadt Exp $ */
+/* $OpenBSD: ldasm.S,v 1.41 2018/11/12 02:33:42 guenther Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -53,13 +53,9 @@
*/
#include <machine/asm.h>
-#include <machine/pal.h>
-#include <sys/syscall.h>
#define AUX_entry 9
- .extern _GLOBAL_OFFSET_TABLE_
-
/* Not really a leaf... but we are special. */
LEAF_NOPROFILE(_dl_start, 0)
.set noreorder
@@ -110,91 +106,6 @@ L2: ldiq s3, L2 /* get where the linker thought we were */
END(_dl_start)
/*
- * Lazy binding entry point, called via PLT.
- */
-NESTED_NOPROFILE(_dl_bind_start, 0, 168, ra, 0, 0)
- .set noat
- /* at_reg already used by PLT code. */
-
- /*
- * Allocate stack frame and preserve all registers that the caller
- * would have normally saved themselves.
- */
- lda sp, -168(sp)
- stq ra, 0(sp)
- stq v0, 8(sp)
- stq t0, 16(sp)
- stq t1, 24(sp)
- stq t2, 32(sp)
- stq t3, 40(sp)
- stq t4, 48(sp)
- stq t5, 56(sp)
- stq t6, 64(sp)
- stq t7, 72(sp)
- stq a0, 80(sp)
- stq a1, 88(sp)
- stq a2, 96(sp)
- stq a3, 104(sp)
- stq a4, 112(sp)
- stq a5, 120(sp)
- stq t8, 128(sp)
- stq t9, 136(sp)
- stq t10, 144(sp)
- stq t11, 152(sp)
- stq gp, 160(sp)
-
- /*
- * Load our global pointer. Note, can't use pv, since it is
- * already used by the PLT code.
- */
- br t0, 1f
-1: LDGP(t0)
-
- /* Set up the arguments for _dl_bind. */
- subq at_reg, t12, a1
- ldq a0, 8(t12)
- subq a1, 20, a1
- addq a1, a1, a1
- CALL(_dl_bind)
-
- /* Move the destination address into position. */
- mov v0, pv
-
- /* Restore program registers. */
- ldq ra, 0(sp)
- ldq v0, 8(sp)
- ldq t0, 16(sp)
- ldq t1, 24(sp)
- ldq t2, 32(sp)
- ldq t3, 40(sp)
- ldq t4, 48(sp)
- ldq t5, 56(sp)
- ldq t6, 64(sp)
- ldq t7, 72(sp)
- ldq a0, 80(sp)
- ldq a1, 88(sp)
- ldq a2, 96(sp)
- ldq a3, 104(sp)
- ldq a4, 112(sp)
- ldq a5, 120(sp)
- ldq t8, 128(sp)
- ldq t9, 136(sp)
- ldq t10, 144(sp)
- ldq t11, 152(sp)
- ldq gp, 160(sp)
- /* XXX LDGP? */
-
- /*
- * We've patched the PLT; sync the I-stream.
- */
- imb
-
- /* Pop the stack frame and turn control to the destination. */
- lda sp, 168(sp)
- jmp zero, (pv)
-END(_dl_bind_start)
-
-/*
* Lazy binding entry point, called via secure (read-only) PLT.
*/
NESTED_NOPROFILE(_dl_bind_secureplt, 0, 168, ra, 0, 0)