xref: /csrg-svn/lib/libc/hp300/sys/sigreturn.s (revision 61125)
141856Sbostic/*-
2*61125Sbostic * Copyright (c) 1990, 1993
3*61125Sbostic *	The Regents of the University of California.  All rights reserved.
441856Sbostic *
541856Sbostic * This code is derived from software contributed to Berkeley by
641856Sbostic * the Systems Programming Group of the University of Utah Computer
741856Sbostic * Science Department.
841856Sbostic *
941856Sbostic * %sccs.include.redist.c%
1041856Sbostic */
1141856Sbostic
1241856Sbostic#if defined(LIBC_SCCS) && !defined(lint)
13*61125Sbostic	.asciz "@(#)sigreturn.s	8.1 (Berkeley) 06/04/93"
1441856Sbostic#endif /* LIBC_SCCS and not lint */
1541856Sbostic
1641856Sbostic#include "SYS.h"
1741856Sbostic
1841856Sbostic/*
1941856Sbostic * We must preserve the state of the registers as the user has set them up.
2041856Sbostic */
2141856Sbostic#ifdef PROF
2241856Sbostic#undef ENTRY
2359690Shibler#ifdef __STDC__
2459690Shibler#if __GNUC__ >= 2
2541856Sbostic#define	ENTRY(x) \
2659690Shibler	.globl _ ## x; .even; _ ## x:; moveml \#0xC0C0,sp@-; .data; \
2759690Shibler	PROF ## x:; .long 0; .text; lea PROF ## x,a0; jbsr mcount; \
2859690Shibler	moveml sp@+,\#0x0303
2959690Shibler#else
3059690Shibler#define	ENTRY(x) \
3159690Shibler	.globl _ ## x; .even; _ ## x:; moveml #0xC0C0,sp@-; .data; \
3259690Shibler	PROF ## x:; .long 0; .text; lea PROF ## x,a0; jbsr mcount; \
3359690Shibler	moveml sp@+,#0x0303
3459690Shibler#endif
3559690Shibler#else
3659690Shibler#define	ENTRY(x) \
3741856Sbostic	.globl _/**/x; .even; _/**/x:; moveml #0xC0C0,sp@-; .data; \
3841856Sbostic	PROF/**/x:; .long 0; .text; lea PROF/**/x,a0; jbsr mcount; \
3941856Sbostic	moveml sp@+,#0x0303
4059690Shibler#endif
4159690Shibler#endif
4241856Sbostic
4341856SbosticENTRY(sigreturn)
4441856Sbostic	trap	#1		/* signals sigreturn() */
4541856Sbostic	jmp	cerror
46