powerpc: POWER7 optimizations
[glibc.git] / sysdeps / powerpc / powerpc32 / bsd-_setjmp.S
blob4c28c2e547d2877b881f54bb3ebe83cf4cd0d589
1 /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.  PowerPC32/64 version.
2    Copyright (C) 1994,1997,1999,2000,2002,2003,2004
3    Free Software Foundation, Inc.
4    This file is part of the GNU C Library.
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
11    The GNU C Library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
16    You should have received a copy of the GNU Lesser General Public
17    License along with the GNU C Library; if not, write to the Free
18    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19    02111-1307 USA.  */
20 #include <shlib-compat.h>
21 #include <libc-symbols.h>
22 #include <sysdep.h>
23 #include <bp-sym.h>
25 #if defined NOT_IN_libc
26 /* Build a non-versioned object for rtld-*.  */
27 ENTRY (BP_SYM (_setjmp))
28         li r4,0                 /* Set second argument to 0.  */
29         b BP_SYM (__sigsetjmp@local)
30 END (BP_SYM (_setjmp))
31 libc_hidden_def (_setjmp)
32 #else
33 /* Build a versioned object for libc.  */
35 # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
36 symbol_version (__novmx_setjmp,_setjmp,GLIBC_2.0);
38 ENTRY (BP_SYM (__novmx_setjmp))
39         li r4,0                 /* Set second argument to 0.  */
40         b BP_SYM (__novmx__sigsetjmp@local)
41 END (BP_SYM (__novmx_setjmp))
42 libc_hidden_def (__novmx_setjmp)
43 # endif /* defined SHARED  && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */
45 default_symbol_version (__vmx_setjmp,_setjmp,GLIBC_2.3.4)
46 /* __GI__setjmp prototype is needed for ntpl i.e. _setjmp is defined
47    as a libc_hidden_proto & is used in sysdeps/generic/libc-start.c
48    if HAVE_CLEANUP_JMP_BUF is defined */
49 ENTRY (BP_SYM (__GI__setjmp))
50         li r4,0                 /* Set second argument to 0.  */
51         b BP_SYM (__vmx__sigsetjmp@local)
52 END (BP_SYM (__GI__setjmp))
54 ENTRY (BP_SYM (__vmx_setjmp))
55         li r4,0                 /* Set second argument to 0.  */
56         b BP_SYM (__vmx__sigsetjmp@local)
57 END (BP_SYM (__vmx_setjmp))
58 libc_hidden_def (__vmx_setjmp)
59 #endif /* !NOT_IN_libc */