summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-12-06 19:12:33 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-08 00:12:34 +0000
commit208dadb8f1864aca88c69766f3bfb37a2ef4953c (patch)
treee08d8e23bd5c974686e8a9cc9bbf5a1081393b0d
parent508746e28d971952b1153a4c24ee3c5a020f9ee9 (diff)
downloadopenembedded-core-contrib-208dadb8f1864aca88c69766f3bfb37a2ef4953c.tar.gz
openembedded-core-contrib-208dadb8f1864aca88c69766f3bfb37a2ef4953c.tar.bz2
openembedded-core-contrib-208dadb8f1864aca88c69766f3bfb37a2ef4953c.zip
binutils: Fix build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.31.inc1
-rw-r--r--meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch32
2 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.31.inc b/meta/recipes-devtools/binutils/binutils-2.31.inc
index 0c9d4cef21..c3c15fb416 100644
--- a/meta/recipes-devtools/binutils/binutils-2.31.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.31.inc
@@ -41,6 +41,7 @@ SRC_URI = "\
file://0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch \
file://0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch \
file://0021-PLT-information-was-still-being-generated-when-symbo.patch \
+ file://clang-bfd-fix.patch \
file://CVE-2018-17358.patch \
file://CVE-2018-17360.patch \
file://CVE-2018-18309.patch \
diff --git a/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch b/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch
new file mode 100644
index 0000000000..caf78488df
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/clang-bfd-fix.patch
@@ -0,0 +1,32 @@
+Fix compiler error seen with clang, The return value of this
+function is not checked anywhere so in a way its useless but
+still technically correct to return a value here
+
+Fixes
+
+../../bfd/reloc.c:1638:7: error: non-void function '_bfd_clear_contents' should return a value [-Wreturn-type]
+ return;
+ ^
+1 error generated.
+
+It has been fixed in master along with a larger cleanup and fix for relocations
+
+https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=1dc9e2d63e37839ff1768346b2e3f52e338baba5
+
+Upstream-Status: Backport [Fixes differently]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: git/bfd/reloc.c
+===================================================================
+--- git.orig/bfd/reloc.c
++++ git/bfd/reloc.c
+@@ -1635,7 +1635,7 @@ _bfd_clear_contents (reloc_howto_type *h
+ default:
+ abort ();
+ case 0:
+- return;
++ return 0;
+ case 1:
+ x = bfd_get_8 (input_bfd, location);
+ break;