[meta-virtualization] [PATCH] golang-cross: do_compile fails on warnings treated as error

Amy Fong amy.fong at windriver.com
Fri Jun 19 09:00:45 PDT 2015


>From 47818bac1f1c4973d6bc6ddf0200bd927b3d72a5 Mon Sep 17 00:00:00 2001
From: Amy Fong <amy.fong at windriver.com>
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 <amy.fong at windriver.com>
---
 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 <amy.fong at windriver.com>
+---
+ 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



More information about the meta-virtualization mailing list