Build the binary UNO bridge with -fno-lto

See the upstream 0001-Pass-fno-lto-unconditionally.patch commit message for
details.  But even with that fix, aarch64 %check would still fail with

> xmltesttools.cxx:170:Assertion
> Test name: testEmbedImagesEnabled::Import_Export
> equality assertion failed
> - Expected: data:image/png;base64,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
> - Actual  : data:image/png;base64,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
> - In <file:///tmp/lu137295836rgnq.tmp>, attribute 'src' of '/html/body/p/img' incorrect value.

during CppunitTest_sw_htmlexport, apparently for another reason that still needs
investigating.
f41
Stephan Bergmann 4 years ago
parent 7e42d961fc
commit 178ad402f4

@ -0,0 +1,57 @@
From 7b0ab85b4042cb38221ca5c9794b70c87443181f Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Thu, 20 Aug 2020 14:54:31 +0200
Subject: [PATCH] Pass -fno-lto unconditionally
At least when building the libreoffice rpm on Fedora 33, the relevant -flto...
flags are passed in via the global CFLAGS/CXXFLAGS, and no --enable-lto
configure option is given. That caused this library to be built with LTO there,
which in turn caused at least aarch64 to fail the %check step with
> ### unexpected exception content! failed
> ### unexpected exception content! failed
> ### unexpected exception content! failed
> exception test failed
> oneway exception test failed
> exception occurred: error: test failed! testtools/source/bridgetest/bridgetest.cxx:1176
>
> > error: error: test failed! testtools/source/bridgetest/bridgetest.cxx:1176
> > dying...make[1]: *** [testtools/CustomTarget_uno_test.mk:25: workdir/CustomTarget/testtools/uno_test.done] Error 1
> make: *** [Makefile:166: CustomTarget_testtools/uno_test] Error 2
The easiest fix appears to pass -fno-lto unconditionally: For one, both GCC and
Clang appear to support it since before our baseline versions (GCC: baseline
7.0.0, presumably supported since <https://gcc.gnu.org/git/?p=gcc.git;a=commit;
h=d7f09764d7bc66b9997c811c22e11efc87b44792> "Merge lto branch into trunk" in
releases/gcc-4.5; Clang: baseline 5.0.2 (at least on Linux), presumably
supported since <https://github.com/llvm/llvm-project/commit/
10d0868efb320fc33ced13b0abeea7070cd41635> "Driver: Support -fno-lto" in
releases/3.0.x). For another, the other (few) places in the code that check
ENABLE_LTO appear not to be relevant at least for that Fedora 33 rpm build, so
there appears to be no incentive to make that build configure --enable-lto as an
alternative to this fix.
Change-Id: I4735403660e57ef73b99d6a8cc5945c6d8e2af73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101129
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
---
bridges/Library_cpp_uno.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bridges/Library_cpp_uno.mk b/bridges/Library_cpp_uno.mk
index 5e78bcb676a6..0c6b255f52ad 100644
--- a/bridges/Library_cpp_uno.mk
+++ b/bridges/Library_cpp_uno.mk
@@ -212,7 +212,7 @@ $(eval $(call gb_Library_add_cxxflags,gcc3_uno,\
$(if $(filter armeabi-v7a,$(ANDROID_APP_ABI)),-I$(ANDROID_BINUTILS_PREBUILT_ROOT)/lib/gcc/arm-linux-androideabi/4.9.x/include) \
-fno-omit-frame-pointer \
-fno-strict-aliasing \
- $(if $(filter TRUE,$(ENABLE_LTO)),-fno-lto) \
+ -fno-lto \
$(if $(filter TRUE,$(HAVE_GCC_AVX)),-mno-avx) \
))
--
2.26.2

@ -50,7 +50,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.1
Release: 1%{?libo_prerelease}%{?dist}
Release: 2%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
URL: http://www.libreoffice.org/
@ -241,6 +241,7 @@ Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch
Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
# backported
Patch3: 0001-fix-detecting-qrcodegen.patch
Patch4: 0001-Pass-fno-lto-unconditionally.patch
%if 0%{?rhel}
# not upstreamed
@ -2221,6 +2222,9 @@ done
%{_includedir}/LibreOfficeKit
%changelog
* Fri Aug 21 2020 Stephan Bergmann <sbergman@redhat.com> 7.0.1.1-2
- Build the binary UNO bridge with -fno-lto
* Thu Aug 20 2020 Thierry Vignaud <tvignaud@redhat.com> 7.0.1.1-1
- 7.0.1 RC1

Loading…
Cancel
Save