On Fri, 21 Mar 2025, Jacek Caban wrote:

---
mingw-w64-crt/Makefile.am               | 20 +++++-----
mingw-w64-crt/math/arm-common/sincosl.c | 13 +++++++
mingw-w64-crt/math/arm/sincos.S         | 32 ----------------
mingw-w64-crt/math/arm/sincosf.S        | 29 --------------
mingw-w64-crt/math/arm64/sincos.S       | 34 -----------------
mingw-w64-crt/math/arm64/sincosf.S      | 31 ---------------
mingw-w64-crt/math/sincos.c             | 13 +++++++
mingw-w64-crt/math/sincosf.c            | 13 +++++++
mingw-w64-crt/math/softmath/sincos.c    | 51 -------------------------
mingw-w64-crt/math/softmath/sincosf.c   | 51 -------------------------
mingw-w64-crt/math/softmath/sincosl.c   | 51 -------------------------
mingw-w64-crt/math/x86/sincos.S         | 47 -----------------------
mingw-w64-crt/math/x86/sincosf.S        | 46 ----------------------
13 files changed, 48 insertions(+), 383 deletions(-)
create mode 100644 mingw-w64-crt/math/arm-common/sincosl.c
delete mode 100644 mingw-w64-crt/math/arm/sincos.S
delete mode 100644 mingw-w64-crt/math/arm/sincosf.S
delete mode 100644 mingw-w64-crt/math/arm64/sincos.S
delete mode 100644 mingw-w64-crt/math/arm64/sincosf.S
create mode 100644 mingw-w64-crt/math/sincos.c
create mode 100644 mingw-w64-crt/math/sincosf.c
delete mode 100644 mingw-w64-crt/math/softmath/sincos.c
delete mode 100644 mingw-w64-crt/math/softmath/sincosf.c
delete mode 100644 mingw-w64-crt/math/softmath/sincosl.c
delete mode 100644 mingw-w64-crt/math/x86/sincos.S
delete mode 100644 mingw-w64-crt/math/x86/sincosf.S

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index fb882ef94..7973f9314 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -468,8 +468,6 @@ src_ucrtbase32=\
  math/x86/cosf.c \
  math/x86/floorf.S \
  math/x86/fmodf.c \
-  math/x86/sincos.S \
-  math/x86/sincosf.S \
  math/x86/sinf.c \
  math/x86/tanf.c

@@ -478,9 +476,7 @@ src_ucrtbase64=\
  $(src_ucrtbase) \
  math/fabsf.c \
  math/nextafterl.c \
-  math/nexttoward.c math/nexttowardf.c \
-  math/x86/sincos.S \
-  math/x86/sincosf.S
+  math/nexttoward.c math/nexttowardf.c

# Files included in libucrt*.a on arm32
src_ucrtbasearm32=\
@@ -966,6 +962,8 @@ src_libmingwex=\
  math/powi.c           math/powif.c       math/powil.c          \
  math/signbit.c        math/signbitf.c    math/signbitl.c       \
  math/signgam.c        \
+  math/sincos.c \
+  math/sincosf.c \
  math/sinhl.c          math/sqrtl.c       math/tanhl.c          \
  math/powi.def.h       math/sqrt.def.h    \
  math/cephes_mconf.h   math/fp_consts.h   \

This bit here doesn't seem right; we don't want these generic fallback functions in libmingwex on x86. On msvcrt on x86, we use our own implementation (x87 based), in math/x86/cossin.c (listed in src_msvcrt_common_add_x86). If we add these in libmingwex, we have both libmingwex and libmsvcrt-os providing the same symbols, and it is much less well defined which one gets linked.

Previously we had these in src_ucrtbase32 and src_ucrtbase64; I think we should keep them there. I.e. not move around what library things are defined in, just unify and share the implementations.

// Martin



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to