xref: /original-bsd/lib/libc/tahoe/sys/sigreturn.s (revision 648cab2a)
1/*
2 * Copyright (c) 1983 Regents of the University of California.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms are permitted
6 * provided that this notice is preserved and that due credit is given
7 * to the University of California at Berkeley. The name of the University
8 * may not be used to endorse or promote products derived from this
9 * software without specific written prior permission. This software
10 * is provided ``as is'' without express or implied warranty.
11 */
12
13#if defined(SYSLIBC_SCCS) && !defined(lint)
14_sccsid:.asciz	"@(#)sigreturn.s	5.2 (Berkeley) 05/20/88"
15#endif /* SYSLIBC_SCCS and not lint */
16
17#include "SYS.h"
18
19/*
20 * We must preserve the state of the registers as the user has set them up.
21 */
22#ifdef PROF
23#define	POPR(r)	movl (sp)+,r
24#undef ENTRY
25#define	ENTRY(x) \
26	.globl _/**/x; .align 2; _/**/x: .word 0; \
27	pushl r0; pushl r1; pushl r2; pushl r3; pushl r4; pushl r5; \
28	.data; 1:; .long 0; .text; pushl $1b; callf $8,mcount; \
29	POPR(r5); POPR(r4); POPR(r3); POPR(r2); POPR(r1); POPR(r0);
30#endif PROF
31
32SYSCALL(sigreturn)
33	ret
34