mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-21 21:57:36 +00:00
Merge pull request #2613 from enkore/issue/2611
algorithms.checksums: work around GCC 4.4 bug by disabling CLMUL
This commit is contained in:
commit
fcb9472674
1 changed files with 8 additions and 0 deletions
|
@ -3,6 +3,12 @@
|
||||||
#include "crc32_slice_by_8.c"
|
#include "crc32_slice_by_8.c"
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
|
/*
|
||||||
|
* GCC 4.4(.7) has a bug that causes it to recurse infinitely if an unknown option
|
||||||
|
* is pushed onto the options stack. GCC 4.5 was not tested, so is excluded as well.
|
||||||
|
* GCC 4.6 is known good.
|
||||||
|
*/
|
||||||
|
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
|
||||||
/*
|
/*
|
||||||
* clang also has or had GCC bug #56298 explained below, but doesn't support
|
* clang also has or had GCC bug #56298 explained below, but doesn't support
|
||||||
* target attributes or the options stack. So we disable this faster code path for clang.
|
* target attributes or the options stack. So we disable this faster code path for clang.
|
||||||
|
@ -66,6 +72,7 @@
|
||||||
#endif /* if __x86_64__ */
|
#endif /* if __x86_64__ */
|
||||||
#endif /* ifndef __OpenBSD__ */
|
#endif /* ifndef __OpenBSD__ */
|
||||||
#endif /* ifndef __clang__ */
|
#endif /* ifndef __clang__ */
|
||||||
|
#endif /* __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) */
|
||||||
#endif /* ifdef __GNUC__ */
|
#endif /* ifdef __GNUC__ */
|
||||||
|
|
||||||
#ifdef FOLDING_CRC
|
#ifdef FOLDING_CRC
|
||||||
|
@ -75,6 +82,7 @@
|
||||||
static uint32_t
|
static uint32_t
|
||||||
crc32_clmul(const uint8_t *src, long len, uint32_t initial_crc)
|
crc32_clmul(const uint8_t *src, long len, uint32_t initial_crc)
|
||||||
{
|
{
|
||||||
|
(void)src; (void)len; (void)initial_crc;
|
||||||
assert(0);
|
assert(0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue