1b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm/* libunwind - a platform-independent unwind library
27ccee420046e6f5238530e024ecd3381c911460dhp.com!davidm   Copyright (C) 2003-2004 Hewlett-Packard Co
3b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
4b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
5b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmThis file is part of libunwind.
6b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
7b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmPermission is hereby granted, free of charge, to any person obtaining
8b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidma copy of this software and associated documentation files (the
9b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm"Software"), to deal in the Software without restriction, including
10b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmwithout limitation the rights to use, copy, modify, merge, publish,
11b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmdistribute, sublicense, and/or sell copies of the Software, and to
12b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmpermit persons to whom the Software is furnished to do so, subject to
13b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmthe following conditions:
14b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
15b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmThe above copyright notice and this permission notice shall be
16b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmincluded in all copies or substantial portions of the Software.
17b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
18b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
25b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
26b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm#define SIG_SETMASK	2
27b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
28b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.global _UI_siglongjmp_cont
29b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.global sigprocmask
30b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
31b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.align 32
32b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.proc siglongjmp_continuation
33b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidmsiglongjmp_continuation:
347ccee420046e6f5238530e024ecd3381c911460dhp.com!davidm_UI_siglongjmp_cont:		// non-function label for siglongjmp.c
35b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.prologue
36b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.save rp, r15
37b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.body
38b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	nop 0
39b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	nop 0
40b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	br.call.sptk.many b6 = .next
41b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	;;
42b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.prologue
43b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.save ar.pfs, r33
44b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm.next:	alloc loc1 = ar.pfs, 0, 3, 3, 0
45b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	/*
46b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	 * Note: we can use the scratch stack are because the caller
47b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	 * of sigsetjmp() by definition is not a leaf-procedure.
48b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	 */
49b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	st8 [sp] = r17			// store signal mask
50b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.save rp, loc0
51b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov loc0 = r15			// final continuation point
52b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	;;
53b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.body
54b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov loc2 = r16			// value to return in r8
55b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm
56b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov out0 = SIG_SETMASK
57b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov out1 = sp
58b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov out2 = r0
59b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	br.call.sptk.many rp = sigprocmask
60b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	;;
61b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov rp = loc0
62b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov ar.pfs = loc1
63b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	mov r8 = loc2
64b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	br.ret.sptk.many rp
65b54bec50afc51ac892de2b0f45d27c2c9b6e24f9homeip.net!davidm	.endp siglongjmp_continuation
6657e569646368cb730f028ecf1732143474e3e642Jan Kratochvil#ifdef __linux__
6757e569646368cb730f028ecf1732143474e3e642Jan Kratochvil	/* We do not need executable stack.  */
6857e569646368cb730f028ecf1732143474e3e642Jan Kratochvil	.section	.note.GNU-stack,"",@progbits
6957e569646368cb730f028ecf1732143474e3e642Jan Kratochvil#endif
70