>From 47818bac1f1c4973d6bc6ddf0200bd927b3d72a5 Mon Sep 17 00:00:00 2001
From: Amy Fong <[email protected]>
Date: Fri, 19 Jun 2015 11:46:17 -0400
Subject: [PATCH] golang-cross: do_compile fails on warnings treated as errors

On glibc 2.20+, the _BSD_SOURCE and _SVID_SOURCE feature test macros are
deprecated as of glibc 2.19.90 (2.20 devel), we define _DEFAULT_SOURCE
instead.

(fixed upstream)
https://groups.google.com/forum/#!topic/golang-codereviews/S4TARFCxu2k

Signed-off-by: Amy Fong <[email protected]>
---
 recipes-devtools/go/files/bsd_svid_source.patch | 37 +++++++++++++++++++++++++
 recipes-devtools/go/golang-cross.inc            |  6 +++-
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 recipes-devtools/go/files/bsd_svid_source.patch

diff --git a/recipes-devtools/go/files/bsd_svid_source.patch 
b/recipes-devtools/go/files/bsd_svid_source.patch
new file mode 100644
index 0000000..21e1d4c
--- /dev/null
+++ b/recipes-devtools/go/files/bsd_svid_source.patch
@@ -0,0 +1,37 @@
+golang-cross: do_compile fails cc1: all warnings being treated as errors
+
+glibc 2.20 deprecates _BSD_SOURCE and _SVID_SOURCE and emits an error
+message.  From patch 16632:
+       libc [PATCH] BZ #16632: Disable _SVID_SOURCE/_BSD_SOURCE warning
+       if _DEFAULT_SOURCE is defined
+
+Since we also need to support glibc before 2.20, from the release notes
+for glibc 2.20, the recommended fix is to define _DEFAULT_SOURCE
+
+(fixed upstream)
+https://groups.google.com/forum/#!topic/golang-codereviews/S4TARFCxu2k
+
+Signed-off-by: Amy Fong <[email protected]>
+---
+ include/u.h |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/include/u.h
++++ b/include/u.h
+@@ -38,6 +38,16 @@
+ #             define __MAKECONTEXT_V2_SOURCE 1
+ #     endif
+ #endif
++/**
++ * in glibc >= 2.20, _BSD_SOURCE and _SVID_SOURCE causes warning
++ * messages if _DEFAULT_SOURCE is not defined.
++ *
++ * From glibc 2.20 release notes, since this application needs _BSD_SOURCE
++ * and/or _SVID_SOURCE and we must support glibc < 2.19 and
++ * glibc >= 2.20, then define all 3 (_DEFAULT_SOURCE, _BSD_SOURCE,
++ * and _SVID_SOURCE) unconditionally
++ */
++#define _DEFAULT_SOURCE 1
+ #define _BSD_SOURCE 1
+ #define _NETBSD_SOURCE 1      /* NetBSD */
+ #define _SVID_SOURCE 1
diff --git a/recipes-devtools/go/golang-cross.inc 
b/recipes-devtools/go/golang-cross.inc
index 9330572..ce4ee0e 100644
--- a/recipes-devtools/go/golang-cross.inc
+++ b/recipes-devtools/go/golang-cross.inc
@@ -3,7 +3,11 @@ HOMEPAGE = "golang.org"
 # DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc"
 DEPENDS = "libgcc"
 PROVIDES = "virtual/${TARGET_PREFIX}golang"
-SRC_URI = "http://golang.org/dl/go${PV}.src.tar.gz";
+SRC_URI = "\
+       http://golang.org/dl/go${PV}.src.tar.gz \
+       file://bsd_svid_source.patch \
+       "
+
 S="${WORKDIR}/go"
 
 do_compile () {
-- 
2.1.4

-- 
_______________________________________________
meta-virtualization mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-virtualization

Reply via email to