From c2f082f65528a889aca7cde4b343aaf36199ba82 Mon Sep 17 00:00:00 2001
From: Elliott Hughes <enh@google.com>
Date: Thu, 12 Dec 2013 15:31:35 -0800
Subject: [PATCH] Make <sys/param.h> more glibc-like.

In particular, add MAX and MIN, needed by elfutils.

Bug: 11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
---
 libc/include/sys/param.h | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/libc/include/sys/param.h b/libc/include/sys/param.h
index 27acd70cb..37c64271b 100644
--- a/libc/include/sys/param.h
+++ b/libc/include/sys/param.h
@@ -40,8 +40,19 @@
 #define ALIGNBYTES 3
 #endif
 
-#define ALIGN(p)    (((unsigned long)(p) + ALIGNBYTES) &~ ALIGNBYTES)
+#ifndef ALIGN
+#define ALIGN(p) (((uintptr_t)(p) + ALIGNBYTES) &~ ALIGNBYTES)
+#endif
 
-#define powerof2(x) ((((x)-1)&(x))==0)
+/* Macros for counting and rounding. */
+#ifndef howmany
+#define howmany(x, y)   (((x)+((y)-1))/(y))
+#endif
+#define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
+#define powerof2(x)     ((((x)-1)&(x))==0)
+
+/* Macros for min/max. */
+#define MIN(a,b) (((a)<(b))?(a):(b))
+#define MAX(a,b) (((a)>(b))?(a):(b))
 
 #endif /* _SYS_PARAM_H_ */