about summary refs log tree commit diff
path: root/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S')
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S38
1 files changed, 14 insertions, 24 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
index ec24297b0b..74ad499f6d 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
+++ b/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
@@ -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)
-	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)
+ENTRY(__ieee_get_fp_control)
+	cfi_startproc
+	PSEUDO_PROLOGUE
+
 	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)
-	ret
+	cfi_adjust_cfa_offset(-16)
 
-$error:
-	lda	sp, 16(sp)
-	SYSCALL_ERROR_HANDLER
+	bne	a3, SYSCALL_ERROR_LABEL
+
+	mov	t0, v0
+	ret
 
-	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)