在 5/5/21 6:48 PM, Jonas Kvinge 写道:
HiI'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
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
