|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] stubdom: fix x86_32 compilation by __modd
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] stubdom: fix x86_32 compilation by __moddi3 from FreeBSD,
Xen patchbot-unstable <=
|
|
|
|
|