1/* Copyright (C) 1997-2017 Free Software Foundation, Inc. 2 Contributed by Richard Henderson (rth@tamu.edu). 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <http://www.gnu.org/licenses/>. */ 17 18#include <sysdep.h> 19#include <jmpbuf-offsets.h> 20 21ENTRY(__longjmp) 22 23 /* Modify the context with the value we want to return. */ 24 movre %o1, 1, %o1 25 stx %o1, [%o0 + O_g1] 26 27 /* Let setcontext know if we want to modify the current sigmask. */ 28 ld [%o0 + O_mask_was_saved], %o1 29 30 /* And bamf back to where we belong! */ 31 ta 0x6f 32 33END(__longjmp) 34 35libc_hidden_def (__longjmp) 36