xref: /openbsd-src/lib/libc/arch/hppa/sys/sigprocmask.S (revision 5aed4d28d43eadb2b7771720ac4d094bec87d515)
1*5aed4d28Sguenther/*	$OpenBSD: sigprocmask.S,v 1.14 2015/10/23 04:39:24 guenther Exp $	*/
2f729a303Smickey
3f729a303Smickey/*
4f729a303Smickey * Copyright (c) 1999 Michael Shalayeff
5f729a303Smickey * All rights reserved.
6f729a303Smickey *
7f729a303Smickey * Redistribution and use in source and binary forms, with or without
8f729a303Smickey * modification, are permitted provided that the following conditions
9f729a303Smickey * are met:
10f729a303Smickey * 1. Redistributions of source code must retain the above copyright
11f729a303Smickey *    notice, this list of conditions and the following disclaimer.
12f729a303Smickey * 2. Redistributions in binary form must reproduce the above copyright
13f729a303Smickey *    notice, this list of conditions and the following disclaimer in the
14f729a303Smickey *    documentation and/or other materials provided with the distribution.
15f729a303Smickey *
16f729a303Smickey * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17f729a303Smickey * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18f729a303Smickey * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19f729a303Smickey * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
20f729a303Smickey * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21f729a303Smickey * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22f729a303Smickey * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23f729a303Smickey * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24f729a303Smickey * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25f729a303Smickey * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26f729a303Smickey * THE POSSIBILITY OF SUCH DAMAGE.
27f729a303Smickey */
28f729a303Smickey
29c9d8341bSmickey#include "SYS.h"
30c9d8341bSmickey
31*5aed4d28SguentherSYSENTRY_HIDDEN(sigprocmask)
32c77cd657Smickey	/* just in case compiler forgot about this */
33c77cd657Smickey	stw	arg2, HPPA_FRAME_ARG(2)(sp)
34c77cd657Smickey
35f993a495Smickey	comb,<>,n r0, arg1, sigprocmask$nblock
36f729a303Smickey
37f729a303Smickey	b	sigprocmask$call
38f729a303Smickey	ldi	1, arg0
39f729a303Smickey
40f729a303Smickeysigprocmask$nblock
41f729a303Smickey	ldw	0(arg1), arg1
42f729a303Smickey	stw	arg1, HPPA_FRAME_ARG(1)(sp)
43f729a303Smickey
44f729a303Smickeysigprocmask$call
45f729a303Smickey	SYSCALL(sigprocmask)
46f729a303Smickey
47f729a303Smickey	ldw	HPPA_FRAME_ARG(2)(sp), arg2
488118c2c8Smickey	add,=	r0, arg2, r0
49f729a303Smickey	stw	ret0, 0(arg2)
50f729a303Smickey	bv	r0(rp)
51c77cd657Smickey	copy	r0, ret0
52*5aed4d28SguentherSYSEXIT_HIDDEN(sigprocmask)
53c9d8341bSmickey
54c9d8341bSmickey	.end
55