mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
alpha: Tidy up ieee_get/set_fp_control syscalls
This commit is contained in:
parent
6360984bc3
commit
6ee732b7cd
@ -1,5 +1,10 @@
|
||||
2012-08-08 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use dwarf2
|
||||
cfi markup for unwind. Adjust stack early so that the normal
|
||||
syscall error path can be used.
|
||||
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
|
||||
(__ASSUME_STAT64_SYSCALL): Remove.
|
||||
* sysdeps/unix/sysv/linux/alpha/fxstat.c: Remove test
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993, 1995, 1996, 2003, 2004 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
|
||||
|
||||
@ -22,39 +22,29 @@
|
||||
|
||||
.text
|
||||
|
||||
LEAF(__ieee_get_fp_control, 16)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
ENTRY(__ieee_get_fp_control)
|
||||
cfi_startproc
|
||||
PSEUDO_PROLOGUE
|
||||
|
||||
lda sp, -16(sp)
|
||||
.set noat
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.set at
|
||||
.prologue 1
|
||||
#elif defined PIC
|
||||
lda sp, -16(sp)
|
||||
.prologue 0
|
||||
#else
|
||||
ldgp gp, 0(pv)
|
||||
lda sp, -16(sp)
|
||||
.prologue 1
|
||||
#endif
|
||||
cfi_adjust_cfa_offset(16)
|
||||
|
||||
mov sp, a1
|
||||
ldi a0, GSI_IEEE_FP_CONTROL
|
||||
ldi v0, __NR_osf_getsysinfo
|
||||
call_pal PAL_callsys
|
||||
bne a3, $error
|
||||
|
||||
ldq v0, 0(sp)
|
||||
ldq t0, 0(sp)
|
||||
lda sp, 16(sp)
|
||||
cfi_adjust_cfa_offset(-16)
|
||||
|
||||
bne a3, SYSCALL_ERROR_LABEL
|
||||
|
||||
mov t0, v0
|
||||
ret
|
||||
|
||||
$error:
|
||||
lda sp, 16(sp)
|
||||
SYSCALL_ERROR_HANDLER
|
||||
|
||||
END(__ieee_get_fp_control)
|
||||
PSEUDO_END(__ieee_get_fp_control)
|
||||
cfi_endproc
|
||||
|
||||
libc_hidden_def(__ieee_get_fp_control)
|
||||
weak_alias (__ieee_get_fp_control, ieee_get_fp_control)
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997, 2003, 2004
|
||||
Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
|
||||
|
||||
@ -21,40 +20,27 @@
|
||||
#include "kernel_sysinfo.h"
|
||||
|
||||
|
||||
LEAF(__ieee_set_fp_control, 16)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
lda sp, -16(sp)
|
||||
.set noat
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.set at
|
||||
.prologue 1
|
||||
#elif defined PIC
|
||||
lda sp, -16(sp)
|
||||
.prologue 0
|
||||
#else
|
||||
ldgp gp, 0(pv)
|
||||
lda sp, -16(sp)
|
||||
.prologue 1
|
||||
#endif
|
||||
ENTRY(__ieee_set_fp_control)
|
||||
cfi_startproc
|
||||
PSEUDO_PROLOGUE
|
||||
|
||||
lda sp, -16(sp)
|
||||
cfi_adjust_cfa_offset(16)
|
||||
|
||||
ldi v0, __NR_osf_setsysinfo
|
||||
stq a0, 0(sp)
|
||||
mov sp, a1
|
||||
ldi a0, SSI_IEEE_FP_CONTROL
|
||||
ldi v0, __NR_osf_setsysinfo
|
||||
call_pal PAL_callsys
|
||||
|
||||
bne a3, $error
|
||||
|
||||
lda sp, 16(sp)
|
||||
cfi_adjust_cfa_offset(-16)
|
||||
|
||||
bne a3, SYSCALL_ERROR_LABEL
|
||||
ret
|
||||
|
||||
$error:
|
||||
lda sp, 16(sp)
|
||||
SYSCALL_ERROR_HANDLER
|
||||
|
||||
END(__ieee_set_fp_control)
|
||||
PSEUDO_END(__ieee_set_fp_control)
|
||||
cfi_endproc
|
||||
|
||||
libc_hidden_def(__ieee_set_fp_control)
|
||||
weak_alias (__ieee_set_fp_control, ieee_set_fp_control)
|
||||
|
Loading…
Reference in New Issue
Block a user