diff --git a/amd64/bsd_asm.h b/amd64/bsd_asm.h index acdd52d..59c2b7c 100644 --- a/amd64/bsd_asm.h +++ b/amd64/bsd_asm.h @@ -69,7 +69,8 @@ #elif defined(__WIN32__) #define _ENTRY(x) _START_ENTRY; \ - .globl CNAME(x); .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x): + .globl CNAME(x); .section .drectve; .ascii " -export:" #x; \ + .section .text; .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x): #define END(x) .end #endif diff --git a/i387/bsd_asm.h b/i387/bsd_asm.h index 83a1dde..cf17ea5 100644 --- a/i387/bsd_asm.h +++ b/i387/bsd_asm.h @@ -82,7 +82,8 @@ #define CNAME(csym) _##csym #define HIDENAME(asmsym) .asmsym #define _ENTRY(x) _START_ENTRY; \ - .globl CNAME(x); .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x): + .globl CNAME(x); .section .drectve; .ascii " -export:" #x; \ + .section .text; .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x): #define END(x) .end #endif diff --git a/ld128/k_cosl.c b/ld128/k_cosl.c index 37666dc..183eb42 100644 --- a/ld128/k_cosl.c +++ b/ld128/k_cosl.c @@ -47,7 +47,7 @@ C9 = 0.4110317413744594971475941557607804508039e-18, C10 = -0.8896592467191938803288521958313920156409e-21, C11 = 0.1601061435794535138244346256065192782581e-23; -long double +DLLEXPORT long double __kernel_cosl(long double x, long double y) { long double hz,z,r,w; diff --git a/ld128/k_sinl.c b/ld128/k_sinl.c index 1079159..d3f8cd6 100644 --- a/ld128/k_sinl.c +++ b/ld128/k_sinl.c @@ -45,7 +45,7 @@ S10 = 0.19572940011906109418080609928334380560135358385256e-19, S11 = -0.38680813379701966970673724299207480965452616911420e-22, S12 = 0.64038150078671872796678569586315881020659912139412e-25; -long double +DLLEXPORT long double __kernel_sinl(long double x, long double y, int iy) { long double z,r,v; diff --git a/ld128/k_tanl.c b/ld128/k_tanl.c index 6246c64..441950f 100644 --- a/ld128/k_tanl.c +++ b/ld128/k_tanl.c @@ -61,7 +61,7 @@ T53 = 0.0000000015468200913196612, /* 0x1a92fc98c29554.0p-82 */ T55 = -0.00000000061311613386849674, /* -0x151106cbc779a9.0p-83 */ T57 = 1.4912469681508012e-10; /* 0x147edbdba6f43a.0p-85 */ -long double +DLLEXPORT long double __kernel_tanl(long double x, long double y, int iy) { long double z, r, v, w, s; long double osign; diff --git a/ld128/s_exp2l.c b/ld128/s_exp2l.c index 1d97d07..17f9395 100644 --- a/ld128/s_exp2l.c +++ b/ld128/s_exp2l.c @@ -32,6 +32,7 @@ #include "fpmath.h" #include "openlibm.h" +#include "math_private.h" #define TBLBITS 7 #define TBLSIZE (1 << TBLBITS) @@ -353,7 +354,7 @@ static const float eps[TBLSIZE] = { * Gal, S. and Bachelis, B. An Accurate Elementary Mathematical Library * for the IEEE Floating Point Standard. TOMS 17(1), 26-46 (1991). */ -long double +DLLEXPORT long double exp2l(long double x) { union IEEEl2bits u, v; diff --git a/ld128/s_nanl.c b/ld128/s_nanl.c index 58f0a2a..4e0c36b 100644 --- a/ld128/s_nanl.c +++ b/ld128/s_nanl.c @@ -29,9 +29,9 @@ #include "openlibm.h" #include "fpmath.h" -#include "../src/math_private.h" +#include "math_private.h" -long double +DLLEXPORT long double nanl(const char *s) { union { diff --git a/ld80/k_cosl.c b/ld80/k_cosl.c index 403da9d..79b7672 100644 --- a/ld80/k_cosl.c +++ b/ld80/k_cosl.c @@ -65,7 +65,7 @@ C5 = 0.0000000020876754400407278, /* 0x11eed8caaeccf1.0p-81 */ C6 = -1.1470297442401303e-11, /* -0x19393412bd1529.0p-89 */ C7 = 4.7383039476436467e-14; /* 0x1aac9d9af5c43e.0p-97 */ -long double +DLLEXPORT long double __kernel_cosl(long double x, long double y) { long double hz,z,r,w; diff --git a/ld80/k_sinl.c b/ld80/k_sinl.c index 792baf6..f7b5174 100644 --- a/ld80/k_sinl.c +++ b/ld80/k_sinl.c @@ -49,7 +49,7 @@ S6 = 1.6059006598854211e-10, /* 0x161242b90243b5.0p-85 */ S7 = -7.6429779983024564e-13, /* -0x1ae42ebd1b2e00.0p-93 */ S8 = 2.6174587166648325e-15; /* 0x179372ea0b3f64.0p-101 */ -long double +DLLEXPORT long double __kernel_sinl(long double x, long double y, int iy) { long double z,r,v; diff --git a/ld80/k_tanl.c b/ld80/k_tanl.c index 5e141b4..4e65aac 100644 --- a/ld80/k_tanl.c +++ b/ld80/k_tanl.c @@ -69,7 +69,7 @@ T29 = 0.0000078293456938132840, /* 0x106b59141a6cb3.0p-69 */ T31 = -0.0000032609076735050182, /* -0x1b5abef3ba4b59.0p-71 */ T33 = 0.0000023261313142559411; /* 0x13835436c0c87f.0p-71 */ -long double +DLLEXPORT long double __kernel_tanl(long double x, long double y, int iy) { long double z, r, v, w, s; long double osign; diff --git a/ld80/s_exp2l.c b/ld80/s_exp2l.c index 0e64d3b..d76f298 100644 --- a/ld80/s_exp2l.c +++ b/ld80/s_exp2l.c @@ -34,6 +34,7 @@ #include "fpmath.h" #include "openlibm.h" +#include "math_private.h" #define TBLBITS 7 #define TBLSIZE (1 << TBLBITS) @@ -209,7 +210,7 @@ static const double tbl[TBLSIZE * 2] = { * The table entries each have 104 bits of accuracy, encoded as * a pair of double precision values. */ -long double +DLLEXPORT long double exp2l(long double x) { union IEEEl2bits u, v; diff --git a/ld80/s_nanl.c b/ld80/s_nanl.c index 7b8b1fc..d56fdd4 100644 --- a/ld80/s_nanl.c +++ b/ld80/s_nanl.c @@ -29,9 +29,9 @@ #include "openlibm.h" #include "fpmath.h" -#include "../src/math_private.h" +#include "math_private.h" -long double +DLLEXPORT long double nanl(const char *s) { union {