From eda73f9adbbdf244959ecbee28cffe6e97e348ef Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 3 Feb 2020 10:37:56 +0000 Subject: [PATCH] 4.9-stable patches added patches: arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch tools-lib-fix-builds-when-glibc-contains-strlcpy.patch --- ...images-on-make-arch-arm64-dist-clean.patch | 40 +++++++ queue-4.9/series | 2 + ...x-builds-when-glibc-contains-strlcpy.patch | 100 ++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch create mode 100644 queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch diff --git a/queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch b/queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch new file mode 100644 index 00000000000..a6febc0a443 --- /dev/null +++ b/queue-4.9/arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch @@ -0,0 +1,40 @@ +From d7bbd6c1b01cb5dd13c245d4586a83145c1d5f52 Mon Sep 17 00:00:00 2001 +From: Dirk Behme +Date: Tue, 21 Jan 2020 16:54:39 +0100 +Subject: arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean' + +From: Dirk Behme + +commit d7bbd6c1b01cb5dd13c245d4586a83145c1d5f52 upstream. + +Since v4.3-rc1 commit 0723c05fb75e44 ("arm64: enable more compressed +Image formats"), it is possible to build Image.{bz2,lz4,lzma,lzo} +AArch64 images. However, the commit missed adding support for removing +those images on 'make ARCH=arm64 (dist)clean'. + +Fix this by adding them to the target list. +Make sure to match the order of the recipes in the makefile. + +Cc: stable@vger.kernel.org # v4.3+ +Fixes: 0723c05fb75e44 ("arm64: enable more compressed Image formats") +Signed-off-by: Dirk Behme +Signed-off-by: Eugeniu Rosca +Reviewed-by: Masahiro Yamada +Signed-off-by: Will Deacon +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm64/boot/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/Makefile ++++ b/arch/arm64/boot/Makefile +@@ -16,7 +16,7 @@ + + OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S + +-targets := Image Image.gz ++targets := Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo + + $(obj)/Image: vmlinux FORCE + $(call if_changed,objcopy) diff --git a/queue-4.9/series b/queue-4.9/series index 8bf6c5c8194..787659577a7 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -27,3 +27,5 @@ vfs-fix-do_last-regression.patch crypto-pcrypt-fix-user-after-free-on-module-unload.patch iio-gyro-st_gyro-inline-per-sensor-data.patch iio-gyro-st_gyro-fix-l3gd20h-support.patch +tools-lib-fix-builds-when-glibc-contains-strlcpy.patch +arm64-kbuild-remove-compressed-images-on-make-arch-arm64-dist-clean.patch diff --git a/queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch b/queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch new file mode 100644 index 00000000000..de9b9faa2e6 --- /dev/null +++ b/queue-4.9/tools-lib-fix-builds-when-glibc-contains-strlcpy.patch @@ -0,0 +1,100 @@ +From 6c4798d3f08b81c2c52936b10e0fa872590c96ae Mon Sep 17 00:00:00 2001 +From: Vitaly Chikunov +Date: Tue, 24 Dec 2019 20:20:29 +0300 +Subject: tools lib: Fix builds when glibc contains strlcpy() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Vitaly Chikunov + +commit 6c4798d3f08b81c2c52936b10e0fa872590c96ae upstream. + +Disable a couple of compilation warnings (which are treated as errors) +on strlcpy() definition and declaration, allowing users to compile perf +and kernel (objtool) when: + +1. glibc have strlcpy() (such as in ALT Linux since 2004) objtool and + perf build fails with this (in gcc): + + In file included from exec-cmd.c:3: + tools/include/linux/string.h:20:15: error: redundant redeclaration of ‘strlcpy’ [-Werror=redundant-decls] + 20 | extern size_t strlcpy(char *dest, const char *src, size_t size); + +2. clang ignores `-Wredundant-decls', but produces another warning when + building perf: + + CC util/string.o + ../lib/string.c:99:8: error: attribute declaration must precede definition [-Werror,-Wignored-attributes] + size_t __weak strlcpy(char *dest, const char *src, size_t size) + ../../tools/include/linux/compiler.h:66:34: note: expanded from macro '__weak' + # define __weak __attribute__((weak)) + /usr/include/bits/string_fortified.h:151:8: note: previous definition is here + __NTH (strlcpy (char *__restrict __dest, const char *__restrict __src, + +Committer notes: + +The + + #pragma GCC diagnostic + +directive was introduced in gcc 4.6, so check for that as well. + +Fixes: ce99091 ("perf tools: Move strlcpy() from perf to tools/lib/string.c") +Fixes: 0215d59 ("tools lib: Reinstate strlcpy() header guard with __UCLIBC__") +Resolves: https://bugzilla.kernel.org/show_bug.cgi?id=118481 +Signed-off-by: Vitaly Chikunov +Reviewed-by: Dmitry Levin +Cc: Dmitry Levin +Cc: Josh Poimboeuf +Cc: kbuild test robot +Cc: Peter Zijlstra +Cc: stable@vger.kernel.org +Cc: Vineet Gupta +Link: http://lore.kernel.org/lkml/20191224172029.19690-1-vt@altlinux.org +Signed-off-by: Arnaldo Carvalho de Melo +Signed-off-by: Greg Kroah-Hartman + +--- + tools/include/linux/string.h | 8 ++++++++ + tools/lib/string.c | 7 +++++++ + 2 files changed, 15 insertions(+) + +--- a/tools/include/linux/string.h ++++ b/tools/include/linux/string.h +@@ -13,7 +13,15 @@ int strtobool(const char *s, bool *res); + * However uClibc headers also define __GLIBC__ hence the hack below + */ + #if defined(__GLIBC__) && !defined(__UCLIBC__) ++// pragma diagnostic was introduced in gcc 4.6 ++#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wredundant-decls" ++#endif + extern size_t strlcpy(char *dest, const char *src, size_t size); ++#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) ++#pragma GCC diagnostic pop ++#endif + #endif + + char *str_error_r(int errnum, char *buf, size_t buflen); +--- a/tools/lib/string.c ++++ b/tools/lib/string.c +@@ -76,6 +76,10 @@ int strtobool(const char *s, bool *res) + * If libc has strlcpy() then that version will override this + * implementation: + */ ++#ifdef __clang__ ++#pragma clang diagnostic push ++#pragma clang diagnostic ignored "-Wignored-attributes" ++#endif + size_t __weak strlcpy(char *dest, const char *src, size_t size) + { + size_t ret = strlen(src); +@@ -87,3 +91,6 @@ size_t __weak strlcpy(char *dest, const + } + return ret; + } ++#ifdef __clang__ ++#pragma clang diagnostic pop ++#endif -- 2.47.3