[oe-commits] Ross Burton : byacc: fix compilation on Ubuntu 14.04

git at git.openembedded.org git at git.openembedded.org
Sun Aug 30 11:49:38 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: f906c5eb722de07eb09858fd058eb7e20103df71
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=f906c5eb722de07eb09858fd058eb7e20103df71

Author: Ross Burton <ross.burton at intel.com>
Date:   Wed Aug 26 21:32:45 2015 +0100

byacc: fix compilation on Ubuntu 14.04

Ubuntu defaults to passing _FORTIFY_SOURCE=2 which breaks byacc as it doesn't
pass enough arguments to open():

inlined from 'open_tmpfile' at byacc-20150711/main.c:588:5:
/usr/include/x86_64-linux-gnu/bits/fcntl2.h:50:24: error: call to '__open_missing_mode' declared with attribute error:
open with O_CREAT in second argument needs 3 arguments

Add a mode of 0666 to fix this.

Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/recipes-extended/byacc/byacc.inc              |  4 +++-
 meta/recipes-extended/byacc/byacc/byacc-open.patch | 13 +++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-extended/byacc/byacc.inc b/meta/recipes-extended/byacc/byacc.inc
index fae9e25..f9f8d6b 100644
--- a/meta/recipes-extended/byacc/byacc.inc
+++ b/meta/recipes-extended/byacc/byacc.inc
@@ -5,7 +5,9 @@ programming language."
 SECTION = "devel"
 LICENSE = "PD"
 
-SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz"
+SRC_URI = "ftp://invisible-island.net/byacc/byacc-${PV}.tgz \
+           file://byacc-open.patch"
+
 EXTRA_OECONF += "--program-transform-name='s,^,b,'"
 
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/byacc/byacc/byacc-open.patch b/meta/recipes-extended/byacc/byacc/byacc-open.patch
new file mode 100644
index 0000000..9160543
--- /dev/null
+++ b/meta/recipes-extended/byacc/byacc/byacc-open.patch
@@ -0,0 +1,13 @@
+diff --git a/main.c b/main.c
+index 620ce3f..82071a4 100644
+--- a/main.c
++++ b/main.c
+@@ -526,7 +526,7 @@ my_mkstemp(char *temp)
+     }
+     if ((name = tempnam(dname, fname)) != 0)
+     {
+-	fd = open(name, O_CREAT | O_EXCL | O_RDWR);
++      fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0666);
+ 	strcpy(temp, name);
+     }
+     else



More information about the Openembedded-commits mailing list