Update copyright notices with scripts/update-copyrights
[glibc.git] / ports / sysdeps / unix / sysv / linux / alpha / fraiseexcpt.S
blob3db92d598bdc1895fe4390bc87b6b184956d457b
1 /* Copyright (C) 2004-2014 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
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.
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.
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/>.  */
18 #include <sysdep.h>
19 #include "kernel_sysinfo.h"
22         .text
24 ENTRY(__feraiseexcept)
25         cfi_startproc
26         PSEUDO_PROLOGUE
28         lda     sp, -16(sp)
29         cfi_adjust_cfa_offset(16)
31         ldi     v0, __NR_osf_setsysinfo
32         stq     a0, 0(sp)
33         mov     sp, a1
34         ldi     a0, SSI_IEEE_RAISE_EXCEPTION
35         call_pal PAL_callsys
37         lda     sp, 16(sp)
38         cfi_adjust_cfa_offset(-16)
40         /* Here in libm we can't use SYSCALL_ERROR_LABEL.  Nor is it clear
41            that we'd want to set errno anyway.  All we're required to do is
42            return non-zero on error.  Which is exactly A3.  */
43         mov     a3, v0
44         ret
46 END(__feraiseexcept)
47         cfi_endproc
49 #include <shlib-compat.h>
50 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
51 strong_alias (__feraiseexcept, __old_feraiseexcept)
52 compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
53 #endif
55 libm_hidden_ver (__feraiseexcept, feraiseexcept)
56 versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);