提交 039f1b3c 编写于 作者: R Rich Felker

make arch __fesetround backends hidden

these are not public interfaces and do not match the public function,
but delegate argument checking to it.
上级 5e1019b0
......@@ -6,6 +6,7 @@ fegetround:
ret
.global __fesetround
.hidden __fesetround
.type __fesetround,%function
__fesetround:
mrs x1, fpcr
......
......@@ -11,6 +11,7 @@ fegetround:
bx lr
.global __fesetround
.hidden __fesetround
.type __fesetround,%function
__fesetround:
fmrx r3, fpscr
......
#include <fenv.h>
#include "libc.h"
/* __fesetround wrapper for arch independent argument check */
int __fesetround(int);
hidden int __fesetround(int);
int fesetround(int r)
{
......
......@@ -61,6 +61,7 @@ feraiseexcept:
ret
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
mov 4(%esp),%ecx
......
#include <fenv.h>
#include "libc.h"
#if __HAVE_68881__ || __mcffpu__
......@@ -50,7 +51,7 @@ int fegetround(void)
return getcr() & FE_UPWARD;
}
int __fesetround(int r)
hidden int __fesetround(int r)
{
setcr((getcr() & ~FE_UPWARD) | r);
return 0;
......
......@@ -39,6 +39,7 @@ fegetround:
andi $2, $2, 3
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
cfc1 $5, $31
......
......@@ -39,6 +39,7 @@ fegetround:
andi $2, $2, 3
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
cfc1 $5, $31
......
......@@ -38,6 +38,7 @@ fegetround:
andi $2, $2, 3
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
cfc1 $5, $31
......
......@@ -79,6 +79,7 @@ fegetround:
blr
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
/*
......
#define _GNU_SOURCE
#include <fenv.h>
#include "libc.h"
static inline double get_fpscr_f(void)
{
......@@ -49,7 +50,7 @@ int fegetround(void)
return get_fpscr() & 3;
}
int __fesetround(int r)
hidden int __fesetround(int r)
{
set_fpscr(get_fpscr() & ~3L | r);
return 0;
......
#include <fenv.h>
#include "libc.h"
static inline unsigned get_fpc(void)
{
......@@ -36,7 +37,7 @@ int fegetround(void)
return get_fpc() & 3;
}
int __fesetround(int r)
hidden int __fesetround(int r)
{
set_fpc(get_fpc() & ~3L | r);
return 0;
......
......@@ -8,6 +8,7 @@ fegetround:
and #3, r0
.global __fesetround
.hidden __fesetround
.type __fesetround, @function
__fesetround:
sts fpscr, r0
......
......@@ -30,6 +30,7 @@ feraiseexcept:
ret
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
push %rax
......
......@@ -30,6 +30,7 @@ feraiseexcept:
ret
.global __fesetround
.hidden __fesetround
.type __fesetround,@function
__fesetround:
push %rax
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册