make arch __fesetround backends hidden
these are not public interfaces and do not match the public function, but delegate argument checking to it.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#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
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#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:
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#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;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#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
|
||||
|
||||
Reference in New Issue
Block a user