From 7394e264fced0d17dcbe98881624be8fa83165e3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 4 Jun 2018 13:14:12 +0200 Subject: gnu: perf: Work around GCC bug. Works around . * gnu/packages/patches/perf-gcc-ice.patch: New patch. * gnu/packages/linux.scm (perf)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/linux.scm | 4 +++- gnu/packages/patches/perf-gcc-ice.patch | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/perf-gcc-ice.patch diff --git a/gnu/local.mk b/gnu/local.mk index d75ac4a83e..0ff25909b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -982,6 +982,7 @@ dist_patch_DATA = \ %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ + %D%/packages/patches/perf-gcc-ice.patch \ %D%/packages/patches/perl-file-path-CVE-2017-6512.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8c12141260..4d521f71b3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2500,7 +2500,9 @@ in a digital read-out.") (package (name "perf") (version (package-version linux-libre)) - (source (package-source linux-libre)) + (source (origin + (inherit (package-source linux-libre)) + (patches (search-patches "perf-gcc-ice.patch")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/perf-gcc-ice.patch b/gnu/packages/patches/perf-gcc-ice.patch new file mode 100644 index 0000000000..58ab5359c2 --- /dev/null +++ b/gnu/packages/patches/perf-gcc-ice.patch @@ -0,0 +1,13 @@ +Work around this GCC ICE: . + +--- linux-4.16.13/tools/perf/util/header.c 2018-06-04 11:30:39.368146035 +0200 ++++ linux-4.16.13/tools/perf/util/header.c 2018-06-04 11:34:04.667212378 +0200 +@@ -135,7 +135,7 @@ int do_write(struct feat_fd *ff, const v + int write_padded(struct feat_fd *ff, const void *bf, + size_t count, size_t count_aligned) + { +- static const char zero_buf[NAME_ALIGN]; ++ static const char zero_buf[NAME_ALIGN] = { 0 }; + int err = do_write(ff, bf, count); + + if (!err) -- cgit v1.2.3