From 0682e9edcb7ca9c92eb40b61a01a12e20f1791b1 Mon Sep 17 00:00:00 2001 From: Amy Fong Date: Fri, 19 Jun 2015 12:00:45 -0400 Subject: golang-cross: do_compile fails on warnings treated as error 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 Signed-off-by: Bruce Ashfield --- 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 00000000..21e1d4cb --- /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 +--- + 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 9330572d..ce4ee0e9 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 () { -- cgit v1.2.3-54-g00ecf