Rebuilt for possible GCC 10 bug on power64 and arm

On ppc64le this piece of code in sord.c does not correctly
evaluate the exit condition when O2 optimization is used.
It seems that the end of the iterator is never evaluated.

    // Free quads
    ZixBTreeIter* t = zix_btree_begin(model->indices[DEFAULT_ORDER]);
    for (; !zix_btree_iter_is_end(t); zix_btree_iter_increment(t)) {
        free(zix_btree_get(t));
    }
    zix_btree_iter_free(t);

See sord.c line 748
This commit is contained in:
Guido Aulisi 2020-03-15 01:26:32 +01:00
parent a44f56b53c
commit 0a9adfc498
1 changed files with 10 additions and 1 deletions

View File

@ -3,7 +3,7 @@
Name: sord
Version: 0.16.4
Release: 2%{?dist}
Release: 3%{?dist}
Summary: A lightweight Resource Description Framework (RDF) C library
License: ISC
@ -44,6 +44,12 @@ sed -i -e "s|bld.add_post_fun(autowaf.run_ldconfig)||" \
%build
%set_build_flags
# Work around a possible GCC 10 bug
# GCC 10 crashes on these arches in for loop with ZixBTreeIter
%ifarch %{power64} %{arm} aarch64
CFLAGS+=" -O1"
CXXFLAGS+=" -O1"
%endif
export LINKFLAGS="%{__global_ldflags}"
python3 waf configure \
--prefix=%{_prefix} \
@ -78,6 +84,9 @@ install -pm 644 AUTHORS NEWS README.md COPYING %{buildroot}%{_pkgdocdir}
%{_mandir}/man3/%{name}*.3*
%changelog
* Sun Mar 15 2020 Guido Aulisi <guido.aulisi@gmail.com> - 0.16.4-3
- Rebuilt for possible GCC 10 bug on power64 and arm
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild