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