gnu: Remove GCC ICE workarounds.

* gnu/packages/patches/doxygen-gcc-ice.patch,
gnu/packages/patches/mariadb-gcc-ice.patch,
gnu/packages/patches/perf-gcc-ice.patch: Delete files
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/databases.scm (mariadb)[source](patches): Likewise.
* gnu/packages/linux.scm (perf)[source](patches): Likewise.
* gnu/packages/documentation.scm (doxygen)[inputs, arguments]: Likewise.
This commit is contained in:
Marius Bakke 2018-08-22 16:45:17 +02:00
parent bf91e6835d
commit fb76ef8477
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
7 changed files with 3 additions and 84 deletions

View File

@ -641,7 +641,6 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/doxygen-gcc-ice.patch \
%D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/eigen-arm-neon-fixes.patch \ %D%/packages/patches/eigen-arm-neon-fixes.patch \
@ -927,7 +926,6 @@ dist_patch_DATA = \
%D%/packages/patches/mailutils-uninitialized-memory.patch \ %D%/packages/patches/mailutils-uninitialized-memory.patch \
%D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-glibc-compat.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-gcc-ice.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \
%D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/mars-sfml-2.3.patch \
@ -1008,7 +1006,6 @@ dist_patch_DATA = \
%D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ %D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
%D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perf-gcc-ice.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \ %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \ %D%/packages/patches/perl-deterministic-ordering.patch \

View File

@ -636,8 +636,7 @@ Language.")
(sha256 (sha256
(base32 (base32
"0k9walaglwmwdwmkq48ir17g98n83vliyyg5wck22rjgxn2xk4cy")) "0k9walaglwmwdwmkq48ir17g98n83vliyyg5wck22rjgxn2xk4cy"))
(patches (search-patches "mariadb-gcc-ice.patch" (patches (search-patches "mariadb-client-test-32bit.patch"))
"mariadb-client-test-32bit.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -139,23 +139,10 @@ markup) can be customized and extended by the user.")
("libxml2" ,libxml2) ; provides xmllint for the tests ("libxml2" ,libxml2) ; provides xmllint for the tests
("python" ,python-2))) ; for creating the documentation ("python" ,python-2))) ; for creating the documentation
(inputs (inputs
`(("bash" ,bash-minimal) `(("bash" ,bash-minimal)))
,@(if (string-prefix? "armhf-" (%current-system))
`(("gcc-ice-patch" ,@(search-patches "doxygen-gcc-ice.patch")))
'())))
(arguments (arguments
`(#:test-target "tests" `(#:test-target "tests"
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
;; Work around an ICE that shows up on native compiles for
;; armhf-linux.
,@(if (string-prefix? "armhf-" (%current-system))
`((add-after 'unpack 'apply-gcc-patch
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch (assoc-ref inputs "gcc-ice-patch")))
(invoke "patch" "-p1" "--force"
"--input" patch)))))
'())
(add-before 'configure 'patch-sh (add-before 'configure 'patch-sh
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/portable.cpp" (substitute* "src/portable.cpp"

View File

@ -2508,9 +2508,7 @@ in a digital read-out.")
(package (package
(name "perf") (name "perf")
(version (package-version linux-libre)) (version (package-version linux-libre))
(source (origin (source (package-source linux-libre))
(inherit (package-source linux-libre))
(patches (search-patches "perf-gcc-ice.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases

View File

@ -1,25 +0,0 @@
Work around this GCC ICE: <https://bugs.gnu.org/31708>. It shows up
only when doing native compiles on armhf-linux.
Yes it's a terrible patch, but it does the job.
--- doxygen-1.8.13/qtools/qutfcodec.cpp 1970-01-01 01:00:00.000000000 +0100
+++ doxygen-1.8.13/qtools/qutfcodec.cpp 2018-06-08 14:14:29.614009929 +0200
@@ -189,7 +189,7 @@ int QUtf16Codec::heuristicContentMatch(c
}
-
+volatile const void *bomPointer = &QChar::byteOrderMark;
class QUtf16Encoder : public QTextEncoder {
bool headerdone;
@@ -209,7 +209,7 @@ public:
headerdone = TRUE;
len_in_out = (1+uc.length())*(int)sizeof(QChar);
QCString d(len_in_out);
- memcpy(d.rawData(),&QChar::byteOrderMark,sizeof(QChar));
+ memcpy(d.rawData(),(void *)bomPointer,sizeof(QChar));
memcpy(d.rawData()+sizeof(QChar),uc.unicode(),uc.length()*sizeof(QChar));
return d;
}

View File

@ -1,24 +0,0 @@
Work around this GCC ICE: <https://bugs.gnu.org/31708>. It shows up
only when doing native compiles on armhf-linux.
--- mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:13:12.604020250 +0200
+++ mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:14:11.907753417 +0200
@@ -847,6 +847,8 @@
return function_exit(kWho, 0);
}
+volatile const void *kSyncHeaderPtr = &ReplSemiSyncMaster::kSyncHeader;
+
int ReplSemiSyncMaster::reserveSyncHeader(unsigned char *header,
unsigned long size)
{
@@ -873,7 +875,7 @@
/* Set the magic number and the sync status. By default, no sync
* is required.
*/
- memcpy(header, kSyncHeader, sizeof(kSyncHeader));
+ memcpy(header, (void *)kSyncHeaderPtr, sizeof(kSyncHeader));
hlen= sizeof(kSyncHeader);
}
return function_exit(kWho, hlen);

View File

@ -1,13 +0,0 @@
Work around this GCC ICE: <https://bugs.gnu.org/31708>.
--- 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)