]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Jul 2017 16:03:16 +0000 (18:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Jul 2017 16:03:16 +0000 (18:03 +0200)
added patches:
x86-tools-fix-gcc-7-warning-in-relocs.c.patch

queue-4.9/series
queue-4.9/x86-tools-fix-gcc-7-warning-in-relocs.c.patch [new file with mode: 0644]

index 551dfdb9f0821a8c949e4639da38a7dc52e10860..d9546c36d2a22b7d8490c6207d2f80d6f445142d 100644 (file)
@@ -32,3 +32,4 @@ usb-serial-qcserial-new-sierra-wireless-em7305-device-id.patch
 xhci-limit-usb2-port-wake-support-for-amd-promontory-hosts.patch
 gfs2-fix-glock-rhashtable-rcu-bug.patch
 tpm-fix-a-kernel-memory-leak-in-tpm-sysfs.c.patch
+x86-tools-fix-gcc-7-warning-in-relocs.c.patch
diff --git a/queue-4.9/x86-tools-fix-gcc-7-warning-in-relocs.c.patch b/queue-4.9/x86-tools-fix-gcc-7-warning-in-relocs.c.patch
new file mode 100644 (file)
index 0000000..310ff80
--- /dev/null
@@ -0,0 +1,54 @@
+From 7ebb916782949621ff6819acf373a06902df7679 Mon Sep 17 00:00:00 2001
+From: Markus Trippelsdorf <markus@trippelsdorf.de>
+Date: Thu, 15 Dec 2016 13:45:13 +0100
+Subject: x86/tools: Fix gcc-7 warning in relocs.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Markus Trippelsdorf <markus@trippelsdorf.de>
+
+commit 7ebb916782949621ff6819acf373a06902df7679 upstream.
+
+gcc-7 warns:
+
+In file included from arch/x86/tools/relocs_64.c:17:0:
+arch/x86/tools/relocs.c: In function ‘process_64’:
+arch/x86/tools/relocs.c:953:2: warning: argument 1 null where non-null expected [-Wnonnull]
+  qsort(r->offset, r->count, sizeof(r->offset[0]), cmp_relocs);
+  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from arch/x86/tools/relocs.h:6:0,
+                 from arch/x86/tools/relocs_64.c:1:
+/usr/include/stdlib.h:741:13: note: in a call to function ‘qsort’ declared here
+ extern void qsort
+
+This happens because relocs16 is not used for ELF_BITS == 64,
+so there is no point in trying to sort it.
+
+Make the sort_relocs(&relocs16) call 32bit only.
+
+Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de>
+Link: http://lkml.kernel.org/r/20161215124513.GA289@x4
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/tools/relocs.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/tools/relocs.c
++++ b/arch/x86/tools/relocs.c
+@@ -992,11 +992,12 @@ static void emit_relocs(int as_text, int
+               die("Segment relocations found but --realmode not specified\n");
+       /* Order the relocations for more efficient processing */
+-      sort_relocs(&relocs16);
+       sort_relocs(&relocs32);
+ #if ELF_BITS == 64
+       sort_relocs(&relocs32neg);
+       sort_relocs(&relocs64);
++#else
++      sort_relocs(&relocs16);
+ #endif
+       /* Print the relocations */