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
epel9
Guido Aulisi 5 years ago
parent a44f56b53c
commit 0a9adfc498

@ -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

Loading…
Cancel
Save