[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] stubdom: fix x86_32 compilation by __moddi3 from FreeBSD
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1204038667 0 # Node ID e6c3006fd9be7b5d16092b32b58920059ae1c6a6 # Parent 450be98ef36b1af40ab381d8e0aac647012a60a2 stubdom: fix x86_32 compilation by __moddi3 from FreeBSD (like has been done previously for umoddi3 etc.) Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> --- extras/mini-os/lib/math.c | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+) diff -r 450be98ef36b -r e6c3006fd9be extras/mini-os/lib/math.c --- a/extras/mini-os/lib/math.c Tue Feb 26 15:02:26 2008 +0000 +++ b/extras/mini-os/lib/math.c Tue Feb 26 15:11:07 2008 +0000 @@ -388,6 +388,29 @@ __umoddi3(u_quad_t a, u_quad_t b) return (r); } +/* + * Return remainder after dividing two signed quads. + * + * XXX + * If -1/2 should produce -1 on this machine, this code is wrong. + */ +quad_t +__moddi3(quad_t a, quad_t b) +{ + u_quad_t ua, ub, ur; + int neg; + + if (a < 0) + ua = -(u_quad_t)a, neg = 1; + else + ua = a, neg = 0; + if (b < 0) + ub = -(u_quad_t)b; + else + ub = b; + (void)__qdivrem(ua, ub, &ur); + return (neg ? -ur : ur); +} #endif /* !defined(__ia64__) */ #ifndef HAVE_LIBC _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |