在 5/5/21 6:48 PM, Jonas Kvinge 写道:
Hi

I'm trying to build with GCC 11.1.0, but getting the following udefined
reference with i686-w64-mingw32.shared.

x86_64-w64-mingw32.shared works.

i686-w64-mingw32.shared/gcc-11.1.0.build_.pthreads/../gcc-11.1.0.build_/mingw-w64-v8.0.0/mingw-w64-libraries/winpthreads/src/clock.c:122:
undefined reference to `__udivmoddi4'

Any idea how to fix it?



Please test the attached patch.

This quad division routine was named `__qdivrem()`.


--
Best regards,
Liu Hao
From 5e1a4aa52dbc47091d394b67bde39c314389e1fa Mon Sep 17 00:00:00 2001
From: Liu Hao <[email protected]>
Date: Thu, 6 May 2021 10:33:48 +0800
Subject: [PATCH] winpthreads: Add `__udivmoddi4()`

Like 431ac2a912708546cd7271332e9331399e66bc62 but this is for GCC 11.
It is identical to `__qdivrem()`.

Reference: https://sourceforge.net/p/mingw-w64/mailman/message/37276246/
Signed-off-by: Liu Hao <[email protected]>
---
 mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
index aeec06805..77bb1fea3 100644
--- a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
+++ b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
@@ -121,6 +121,7 @@ u_quad_t	__udivdi3(u_quad_t a, u_quad_t b);
 u_quad_t	__umoddi3(u_quad_t a, u_quad_t b);
 int		__ucmpdi2(u_quad_t a, u_quad_t b);
 quad_t	__divmoddi4(quad_t a, quad_t b, quad_t *rem);
+u_quad_t	__udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *rem);
 
 #endif /* !_LIBKERN_QUAD_H_ */
 
@@ -573,6 +574,12 @@ __divmoddi4(a, b, rem)
 	return (negq ? -uq : uq);
 }
 
+u_quad_t
+__udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *rem)
+{
+  return __qdivrem(a, b, rem);
+}
+
 #else
 static int __attribute__((unused)) dummy;
 #endif /*deined (_X86_) && !defined (__x86_64__)*/
-- 
2.25.1

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to