File minios.d991bdbc062248221511ecb795617c36b37e1d2e.patch of Package xen
From: Wei Liu <wei.liu2@citrix.com>
Date: Wed, 9 Aug 2017 13:15:48 +0100
Subject: d991bdbc062248221511ecb795617c36b37e1d2e
lib/math.c: implement __udivmoddi4
Some code compiled by gcc 7 requires this.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
lib/math.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/lib/math.c
+++ b/lib/math.c
@@ -1,20 +1,21 @@
/* -*- Mode:C; c-basic-offset:4; tab-width:4 -*-
****************************************************************************
* (C) 2003 - Rolf Neugebauer - Intel Research Cambridge
****************************************************************************
*
* File: math.c
* Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk)
* Changes:
+ * Implement __udivmoddi4 (Wei Liu <wei.liu2@citrix.com>)
*
* Date: Aug 2003
*
* Environment: Xen Minimal OS
* Description: Library functions for 64bit arith and other
* from freebsd, files in sys/libkern/ (qdivrem.c, etc)
*
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* This software was developed by the Computer Systems Engineering group
* at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
@@ -387,24 +388,33 @@ __udivdi3(u_quad_t a, u_quad_t b)
/*
* Return remainder after dividing two unsigned quads.
*/
u_quad_t
__umoddi3(u_quad_t a, u_quad_t b)
{
u_quad_t r;
(void)__qdivrem(a, b, &r);
return (r);
}
+/*
+ * Returns the quotient and places remainder in r
+ */
+u_quad_t
+__udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *r)
+{
+ return __qdivrem(a, b, r);
+}
+
/*
* From
* moddi3.c
*/
/*
* Return remainder after dividing two signed quads.
*
* XXX
* If -1/2 should produce -1 on this machine, this code is wrong.
*/
quad_t