summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-08-26 21:32:45 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-30 12:34:27 +0100
commitf906c5eb722de07eb09858fd058eb7e20103df71 (patch)
tree246bd390deab75979c4ffd366b18bc4c526672b6
parent758abeb219520ab5556186babcdb7e6660ce6e40 (diff)
downloadopenembedded-core-f906c5eb722de07eb09858fd058eb7e20103df71.tar.gz
openembedded-core-f906c5eb722de07eb09858fd058eb7e20103df71.tar.bz2
openembedded-core-f906c5eb722de07eb09858fd058eb7e20103df71.zip
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@intel.com>
-rw-r--r--meta/recipes-extended/byacc/byacc.inc4
-rw-r--r--meta/recipes-extended/byacc/byacc/byacc-open.patch13
2 files changed, 16 insertions, 1 deletions
diff --git a/meta/recipes-extended/byacc/byacc.inc b/meta/recipes-extended/byacc/byacc.inc
index fae9e2504a..f9f8d6b5f0 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 0000000000..9160543400
--- /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