diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2018-11-12 02:33:43 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2018-11-12 02:33:43 +0000 |
commit | 20650eb689032e7a60eb34c08db16920b9e92c2c (patch) | |
tree | 3ce57d213582d50effb58b50fd5fc35481b76ae4 /libexec/ld.so/alpha/ldasm.S | |
parent | ab2e40ddfae349994e8fb8c4589b0af0180b9a91 (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.S | 91 |
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) |