The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / at / 0008-remove-glibc-__isleap-assumption.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/at/0008-remove-glibc-__isleap-assumption.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/at/0008-remove-glibc-__isleap-assumption.patch
new file mode 100644 (file)
index 0000000..2152249
--- /dev/null
@@ -0,0 +1,59 @@
+From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Apr 2015 16:35:30 -0700
+Subject: [PATCH] remove glibc assumption
+
+glibc time.h header has an undocumented __isleap macro
+that we are using anf musl is missing it.
+Since it is undocumented & does not appear
+on any other libc, stop using it and just define the macro in
+locally  instead.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[patch from: http://patchwork.openembedded.org/patch/91893/ ]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+ parsetime.y | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/parsetime.y b/parsetime.y
+index 7005e88..324e6d3 100644
+--- a/parsetime.y
++++ b/parsetime.y
+@@ -8,6 +8,9 @@
+ #define YYDEBUG 1
++#define is_leap_year(y) \
++    ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
++
+ struct tm exectm;
+ static int isgmt;
+ static int yearspec;
+@@ -217,8 +220,8 @@ date            : month_name day_number
+                                mnum == 12) && dnum > 31)
+                           || ((mnum ==  4 || mnum ==  6 || mnum ==  9 ||
+                                mnum == 11) && dnum > 30)
+-                          || (mnum ==  2 && dnum > 29 &&  __isleap(ynum+1900))
+-                          || (mnum ==  2 && dnum > 28 && !__isleap(ynum+1900))
++                          || (mnum ==  2 && dnum > 29 &&  is_leap_year(ynum+1900))
++                          || (mnum ==  2 && dnum > 28 && !is_leap_year(ynum+1900))
+                          )
+                       {
+                           yyerror("Error in day of month");
+@@ -261,8 +264,8 @@ date            : month_name day_number
+                                mnum == 12) && dnum > 31)
+                           || ((mnum ==  4 || mnum ==  6 || mnum ==  9 ||
+                                mnum == 11) && dnum > 30)
+-                          || (mnum ==  2 && dnum > 29 &&  __isleap(ynum+1900))
+-                          || (mnum ==  2 && dnum > 28 && !__isleap(ynum+1900))
++                          || (mnum ==  2 && dnum > 29 &&  is_leap_year(ynum+1900))
++                          || (mnum ==  2 && dnum > 28 && !is_leap_year(ynum+1900))
+                          )
+                       {
+                           yyerror("Error in day of month");
+-- 
+2.1.4