Page MenuHomeFreeBSD

D56283.id174993.diff
No OneTemporary

D56283.id174993.diff

diff --git a/lib/msun/Makefile b/lib/msun/Makefile
--- a/lib/msun/Makefile
+++ b/lib/msun/Makefile
@@ -115,6 +115,7 @@
CFLAGS+= -I${.CURDIR}/src -I${LIBC_SRCTOP}/include \
-I${LIBC_SRCTOP}/${LIBC_ARCH}
SYM_MAPS+= ${.CURDIR}/Symbol.map
+SYM_MAPS+= ${.CURDIR}/${ARCH_SUBDIR}/Symbol.map
VERSION_DEF= ${LIBC_SRCTOP}/Versions.def
SYMBOL_MAPS= ${SYM_MAPS}
diff --git a/lib/msun/aarch64/Symbol.map b/lib/msun/aarch64/Symbol.map
new file mode 100644
--- /dev/null
+++ b/lib/msun/aarch64/Symbol.map
@@ -0,0 +1,10 @@
+FBSD_1.9 {
+ fesetexceptflag;
+ feraiseexcept;
+ fegetenv;
+ feholdexcept;
+ feupdateenv;
+ feenableexcept;
+ fedisableexcept;
+ fegetexcept;
+};
diff --git a/lib/msun/aarch64/fenv.h b/lib/msun/aarch64/fenv.h
--- a/lib/msun/aarch64/fenv.h
+++ b/lib/msun/aarch64/fenv.h
@@ -92,6 +92,9 @@
int feholdexcept(fenv_t *);
int fesetenv(const fenv_t *);
int feupdateenv(const fenv_t *);
+int feenableexcept_int(int);
+int fedisableexcept_int(int);
+{
#define feclearexcept(a) __feclearexcept_int(a)
#define fegetexceptflag(e, a) __fegetexceptflag_int(e, a)
@@ -104,6 +107,8 @@
#define feholdexcept(e) __feholdexcept_int(e)
#define fesetenv(e) __fesetenv_int(e)
#define feupdateenv(e) __feupdateenv_int(e)
+#define feenableexcept(a) __feenableexcept_int(a)
+#define fedisableexcept_int(a) __fedisableexcept_int(a)
__fenv_static inline int
__feclearexcept_int(int __excepts)
@@ -233,10 +238,8 @@
#if __BSD_VISIBLE
-/* We currently provide no external definitions of the functions below. */
-
static inline int
-feenableexcept(int __mask)
+__feenableexcept_int(int __mask)
{
fenv_t __old_r, __new_r;
@@ -247,7 +250,7 @@
}
static inline int
-fedisableexcept(int __mask)
+__fedisableexcept_int(int __mask)
{
fenv_t __old_r, __new_r;
@@ -258,7 +261,7 @@
}
static inline int
-fegetexcept(void)
+__fegetexcept_int(void)
{
fenv_t __r;
diff --git a/lib/msun/aarch64/fenv.c b/lib/msun/aarch64/fenv.c
--- a/lib/msun/aarch64/fenv.c
+++ b/lib/msun/aarch64/fenv.c
@@ -98,3 +98,21 @@
{
return (__feupdateenv_int(envp));
}
+
+int
+(fegetenv)(fenv_t *envp)
+{
+ return (__fegetenv_int(envp));
+}
+
+int
+(feenableexcept)(fenv_t *envp)
+{
+ return (__feenableexcept_int(envp));
+}
+
+int
+(fedisableexcept)(fenv_t *envp)
+{
+ return (__fedisableexcept_int(envp));
+}
diff --git a/lib/msun/amd64/Makefile.inc b/lib/msun/amd64/Makefile.inc
--- a/lib/msun/amd64/Makefile.inc
+++ b/lib/msun/amd64/Makefile.inc
@@ -6,4 +6,3 @@
s_remquo.S s_remquof.S s_remquol.S \
s_rintl.S s_scalbn.S s_scalbnf.S s_scalbnl.S
LDBL_PREC = 64
-SYM_MAPS += ${.CURDIR}/amd64/Symbol.map
diff --git a/lib/msun/arm/Makefile.inc b/lib/msun/arm/Makefile.inc
--- a/lib/msun/arm/Makefile.inc
+++ b/lib/msun/arm/Makefile.inc
@@ -1,5 +1,4 @@
LDBL_PREC = 53
-SYM_MAPS += ${.CURDIR}/arm/Symbol.map
.if defined(CPUTYPE) && ${CPUTYPE:M*soft*} != ""
ARCH_SRCS = fenv-softfp.c fenv-vfp.c
diff --git a/lib/msun/i387/Makefile.inc b/lib/msun/i387/Makefile.inc
--- a/lib/msun/i387/Makefile.inc
+++ b/lib/msun/i387/Makefile.inc
@@ -17,4 +17,3 @@
s_logbl.S s_lrintl.S s_remquol.S s_rintl.S s_scalbnl.S s_truncl.S
LDBL_PREC = 64 # XXX 64-bit format, but truncated to 53 bits
-SYM_MAPS += ${.CURDIR}/i387/Symbol.map
diff --git a/lib/msun/powerpc/Makefile.inc b/lib/msun/powerpc/Makefile.inc
--- a/lib/msun/powerpc/Makefile.inc
+++ b/lib/msun/powerpc/Makefile.inc
@@ -1,2 +1 @@
LDBL_PREC = 53
-SYM_MAPS += ${.CURDIR}/powerpc/Symbol.map
diff --git a/lib/msun/riscv/Makefile.inc b/lib/msun/riscv/Makefile.inc
--- a/lib/msun/riscv/Makefile.inc
+++ b/lib/msun/riscv/Makefile.inc
@@ -1,2 +1 @@
LDBL_PREC = 113
-SYM_MAPS += ${.CURDIR}/riscv/Symbol.map

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 19, 4:35 PM (16 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31783283
Default Alt Text
D56283.id174993.diff (3 KB)

Event Timeline