summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arc/bsd-setjmp.S
blob: 46745958e476e969a2833f0c95eea47a80b938d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'.  ARC version.
 *
 * Copyright (C) 2013 Synopsys, Inc. (www.synopsys.com)
 *
 * Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
 */

/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
   We cannot do it in C because it must be a tail-call, so frame-unwinding
   in setjmp doesn't clobber the state restored by longjmp.  */

#include <sysdep.h>

;@ r0 = jump buffer into which regs will be saved

ENTRY(setjmp)
	b.d	__sigsetjmp
	mov	r1, 1		; save signals
END(setjmp)
libc_hidden_def(setjmp)