1/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. PowerPC32/64 version. 2 Copyright (C) 1994-2021 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18#include <shlib-compat.h> 19#include <libc-symbols.h> 20#include <sysdep.h> 21 22#if !IS_IN (libc) 23/* Build a non-versioned object for rtld-*. */ 24ENTRY (_setjmp) 25 li r4,0 /* Set second argument to 0. */ 26 b __sigsetjmp@local 27END (_setjmp) 28libc_hidden_def (_setjmp) 29#else 30/* Build a versioned object for libc. */ 31 32# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) 33compat_symbol (libc, __novmx_setjmp, _setjmp, GLIBC_2_0); 34 35ENTRY (__novmx_setjmp) 36 li r4,0 /* Set second argument to 0. */ 37 b __novmx__sigsetjmp@local 38END (__novmx_setjmp) 39libc_hidden_def (__novmx_setjmp) 40# endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */ 41 42versioned_symbol (libc, __vmx_setjmp, _setjmp, GLIBC_2_3_4) 43/* __GI__setjmp prototype is needed for ntpl i.e. _setjmp is defined 44 as a libc_hidden_proto & is used in sysdeps/generic/libc-start.c 45 if HAVE_CLEANUP_JMP_BUF is defined */ 46ENTRY (__GI__setjmp) 47 li r4,0 /* Set second argument to 0. */ 48 b __vmx__sigsetjmp@local 49END (__GI__setjmp) 50 51ENTRY (__vmx_setjmp) 52 li r4,0 /* Set second argument to 0. */ 53 b __vmx__sigsetjmp@local 54END (__vmx_setjmp) 55libc_hidden_def (__vmx_setjmp) 56#endif /* IS_IN (libc) */ 57