summaryrefslogtreecommitdiff
path: root/libexec/ld.so/alpha/ldasm.S
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2002-12-18 19:20:03 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2002-12-18 19:20:03 +0000
commit8f09080005732280987e9c3a5d4dfb4b7ff1d0ff (patch)
tree40b3f487a7bc16dc52413c5ce00772fd5430b427 /libexec/ld.so/alpha/ldasm.S
parent90f6776918c0b71f3eac3550935610833e3ed1ef (diff)
Prepare for an upcoming ELF executable change. This will allow ld.so to
protect the GOT and PLT sections of the executable from being overwritten. This behavior is enabled by changes in the executable/shared object layout, and does not occur without the ld changes.
Diffstat (limited to 'libexec/ld.so/alpha/ldasm.S')
-rw-r--r--libexec/ld.so/alpha/ldasm.S15
1 files changed, 14 insertions, 1 deletions
diff --git a/libexec/ld.so/alpha/ldasm.S b/libexec/ld.so/alpha/ldasm.S
index 68659b6e05e..c6917ff2e26 100644
--- a/libexec/ld.so/alpha/ldasm.S
+++ b/libexec/ld.so/alpha/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.10 2002/10/21 16:01:55 drahn Exp $ */
+/* $OpenBSD: ldasm.S,v 1.11 2002/12/18 19:20:01 drahn Exp $ */
/*
* Copyright (c) 2001 Niklas Hallqvist
@@ -290,3 +290,16 @@ LEAF_NOPROFILE(_dl_getdirentries, 4)
call_pal PAL_OSF1_callsys
RET
END(_dl_getdirentries)
+
+/* _dl_sigprocmask does not support NULL new mask */
+LEAF_NOPROFILE(_dl_sigprocmask, 4)
+ mov a2, a5
+ ldl a1, 0(a1) /* load the set from *set */
+ ldiq v0, SYS_sigprocmask
+ call_pal PAL_OSF1_callsys
+ /* What about syscalls failing? */
+ beq a5, 1f
+ stl v0, 0(a5)
+1: mov zero, v0
+ RET
+END(_dl_sigprocmask)