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:
parent
bf91e6835d
commit
fb76ef8477
|
@ -641,7 +641,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/doc++-include-directives.patch \
|
||||
%D%/packages/patches/doc++-segfault-fix.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/dvd+rw-tools-add-include.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/make-glibc-compat.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/mars-install.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/patchutils-xfail-gendiff-tests.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-dbd-mysql-CVE-2017-10788.patch \
|
||||
%D%/packages/patches/perl-deterministic-ordering.patch \
|
||||
|
|
|
@ -636,8 +636,7 @@ Language.")
|
|||
(sha256
|
||||
(base32
|
||||
"0k9walaglwmwdwmkq48ir17g98n83vliyyg5wck22rjgxn2xk4cy"))
|
||||
(patches (search-patches "mariadb-gcc-ice.patch"
|
||||
"mariadb-client-test-32bit.patch"))
|
||||
(patches (search-patches "mariadb-client-test-32bit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -139,23 +139,10 @@ markup) can be customized and extended by the user.")
|
|||
("libxml2" ,libxml2) ; provides xmllint for the tests
|
||||
("python" ,python-2))) ; for creating the documentation
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
,@(if (string-prefix? "armhf-" (%current-system))
|
||||
`(("gcc-ice-patch" ,@(search-patches "doxygen-gcc-ice.patch")))
|
||||
'())))
|
||||
`(("bash" ,bash-minimal)))
|
||||
(arguments
|
||||
`(#:test-target "tests"
|
||||
#: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
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/portable.cpp"
|
||||
|
|
|
@ -2508,9 +2508,7 @@ in a digital read-out.")
|
|||
(package
|
||||
(name "perf")
|
||||
(version (package-version linux-libre))
|
||||
(source (origin
|
||||
(inherit (package-source linux-libre))
|
||||
(patches (search-patches "perf-gcc-ice.patch"))))
|
||||
(source (package-source linux-libre))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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);
|
||||
|
|
@ -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)
|
Loading…
Reference in New Issue