1/* 2 * Copyright (c) 2005-2014 Rich Felker, et al. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining 5 * a copy of this software and associated documentation files (the 6 * "Software"), to deal in the Software without restriction, including 7 * without limitation the rights to use, copy, modify, merge, publish, 8 * distribute, sublicense, and/or sell copies of the Software, and to 9 * permit persons to whom the Software is furnished to do so, subject to 10 * the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be 13 * included in all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 */ 23 24 .global setjmp 25 .type setjmp,@function 26setjmp: 27 stmg %r6, %r15, 0(%r2) 28 29 std %f8, 10*8(%r2) 30 std %f9, 11*8(%r2) 31 std %f10, 12*8(%r2) 32 std %f11, 13*8(%r2) 33 std %f12, 14*8(%r2) 34 std %f13, 15*8(%r2) 35 std %f14, 16*8(%r2) 36 std %f15, 17*8(%r2) 37 38 lghi %r2, 0 39 br %r14 40 41 .global longjmp 42 .type longjmp,@function 43longjmp: 44 451: 46 lmg %r6, %r15, 0(%r2) 47 48 ld %f8, 10*8(%r2) 49 ld %f9, 11*8(%r2) 50 ld %f10, 12*8(%r2) 51 ld %f11, 13*8(%r2) 52 ld %f12, 14*8(%r2) 53 ld %f13, 15*8(%r2) 54 ld %f14, 16*8(%r2) 55 ld %f15, 17*8(%r2) 56 57 ltgr %r2, %r3 58 bnzr %r14 59 lhi %r2, 1 60 br %r14 61 62#ifdef __ELF__ 63.section .note.GNU-stack,"",%progbits 64#endif 65