summaryrefslogtreecommitdiffstats
path: root/external
Commit message (Collapse)AuthorAgeFilesLines
* Better workaround for ASan use-after-poisonStephan Bergmann2021-12-062-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...than ae36ee4f3aa544e53e2edad93d6d79160b27bc9d "Work around use-after-poison" for > ==1922539==ERROR: AddressSanitizer: use-after-poison on address > 0x61d00190fab0 at pc 0x00000026aaa9 bp 0x7f422ee84b80 sp > 0x7f422ee84348 WRITE of size 192 at 0x61d00190fab0 thread T44 #0 in > memset at > ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:800:3 > (instdir/program/soffice.bin +0x26aaa8) #1 at <null> > (/lib64/libnsspem.so +0x15f3d) #2 at <null> (/lib64/libnsspem.so > +0x16185) #3 at <null> (/lib64/libnsspem.so +0x8a9b) #4 at <null> > (/lib64/libnsspem.so +0xe13b) #5 in secmod_ModuleInit at > workdir/UnpackedTarball/nss/nss/lib/pk11wrap/pk11load.c:244:11 > (instdir/program/libnss3.so +0x4ad372) #6 in secmod_LoadPKCS11Module > at workdir/UnpackedTarball/nss/nss/lib/pk11wrap/pk11load.c:544:10 > (instdir/program/libnss3.so +0x4b1fca) #7 in SECMOD_LoadModule at > workdir/UnpackedTarball/nss/nss/lib/pk11wrap/pk11pars.c:1946:10 > (instdir/program/libnss3.so +0x50de92) #8 in SECMOD_LoadUserModule > at workdir/UnpackedTarball/nss/nss/lib/pk11wrap/pk11pars.c:2042:28 > (instdir/program/libnss3.so +0x50e9a9) #9 in nss_load_module at > workdir/UnpackedTarball/curl/lib/vtls/nss.c:1310:12 > (instdir/program/libcurl.so.4 +0x4fdd25) #10 in nss_setup_connect at > workdir/UnpackedTarball/curl/lib/vtls/nss.c:1894:12 > (instdir/program/libcurl.so.4 +0x4eeffb) #11 in nss_connect_common > at workdir/UnpackedTarball/curl/lib/vtls/nss.c:2235:14 > (instdir/program/libcurl.so.4 +0x4ee237) #12 in > nss_connect_nonblocking at > workdir/UnpackedTarball/curl/lib/vtls/nss.c:2291:10 > (instdir/program/libcurl.so.4 +0x4ebe4a) #13 in > Curl_ssl_connect_nonblocking at > workdir/UnpackedTarball/curl/lib/vtls/vtls.c:361:12 > (instdir/program/libcurl.so.4 +0x514039) #14 in https_connecting at > workdir/UnpackedTarball/curl/lib/http.c:1591:12 > (instdir/program/libcurl.so.4 +0x2f29ce) #15 in Curl_http_connect at > workdir/UnpackedTarball/curl/lib/http.c:1517:14 > (instdir/program/libcurl.so.4 +0x2f23d5) #16 in protocol_connect at > workdir/UnpackedTarball/curl/lib/multi.c:1696:16 > (instdir/program/libcurl.so.4 +0x3b8620) #17 in multi_runsingle at > workdir/UnpackedTarball/curl/lib/multi.c:1997:16 > (instdir/program/libcurl.so.4 +0x3a2232) #18 in curl_multi_perform > at workdir/UnpackedTarball/curl/lib/multi.c:2568:14 > (instdir/program/libcurl.so.4 +0x39dc5c) #19 in > http_dav_ucp::CurlProcessor::ProcessRequestImpl(http_dav_ucp::CurlSession&, > http_dav_ucp::CurlUri const&, curl_slist*, > com::sun::star::uno::Reference<com::sun::star::io::XOutputStream> > const*, com::sun::star::uno::Sequence<signed char> const*, > std::pair<std::__debug::vector<rtl::OUString, > std::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&> > const*, (anonymous namespace)::ResponseHeaders&) at > ucb/source/ucp/webdav-curl/CurlSession.cxx:880:14 > (instdir/program/../program/libucpdav1.so +0x5aad30) 0x61d00190fab0 > is located 48 bytes inside of 2048-byte region > [0x61d00190fa80,0x61d001910280) allocated by thread T44 here: #0 in > malloc at > ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 > (instdir/program/soffice.bin +0x2d3c7e) #1 in PR_Malloc at > workdir/UnpackedTarball/nss/nspr/out/pr/src/malloc/../../../../pr/src/malloc/prmem.c:448:55 > (instdir/program/libnspr4.so +0x123629) #2 in PL_ArenaAllocate at > workdir/UnpackedTarball/nss/nspr/out/lib/ds/../../../lib/ds/plarena.c:134:27 > (instdir/program/libplds4.so +0x9a32) #3 at <null> > (/lib64/libnsspem.so +0x15f77) during UITest_sw_options: That --with-system-nss workaround for <https://ci.libreoffice.org/job/lo_ubsan/> had caused CppunitTest_desktop_lib to start to fail there, presumably "caused by --with-system-nss on the CentOS7 baseline", see the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2021-December/088136.html> "Re: [global-libreoffice-ci] UBSAN Linux Build - Build # 2217 - Still Failing!" And while I had initially not been able to reproduce the use-after-poison during UITest_sw_options with my local ASan+UBSan build (on Fedora 35), I now found out that that was just because my machine happened to not have an nsspem library installed in the system (the nss-pem RPM on Fedora). With that system library installed, my local build failed UITest_sw_options in the same way as the Jenkins tinderbox. Which lead me to the idea of avoiding the whole mess by avoiding that CUrl loads the (apparently optional) nsspem library in ASan builds altogether. (Another approach might have been to disable the __asan_poison_memory_region functionality in workdir/UnpackedTarball/nss/nspr/lib/ds/plarena.h, but the chosen approach nicely makes us less dependent on accidental differences in build-time execution environments, at least for ASan builds.) Change-Id: I8fd2ff255771622f26ad666ca78a6d9ded0af2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126451 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* tdf#145892 disable failing assert in additional icu khmer patchCaolán McNamara2021-12-061-1/+1
| | | | | | | Change-Id: I8507c101544fcdcdc6e75c853c44e04e97a96d91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126411 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* Fix cairo function pointer usageJan-Marek Glogowski2021-12-042-0/+335
| | | | | | | | | | | | | | WASM strictly checks function signatures, so forced wrong casting of function pointers compiles, but any call will generate a runtime error, even if the argument is actually ignored. So this adds a bunch of wrapper functions to pass instead. Change-Id: Id976ea3ca81a792c8af539884ef741f5d23fc2c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126317 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
* libxml2: use xml2-config dummy for internal buildJan-Marek Glogowski2021-12-035-58/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | When building a static LO with --disable-dynloading on Linux, --without-system-libs failed for me. And it left me really puzzled: raptor configure failed and claimed it couldn't link libxml2. raptor's config.log showed missing math functions. xml2-config of LO's build is patched and it includes a -lm. The xml2-config in my chroot doesn't. But we explicitly pass the xml2-config for non-system-libxml2 build. Reading the configure from raptor didn't reveal a way, that it could somehow pick up the xml2-config from the chroot, but that code is autoconf-complex... When running "sh -x configure", it turned out the configure script actually picks up the LIBXML_* flags from the environment, which are set by LO's config_host.mk. These just add -lm for Android. So this adds a xml2-config.in "dummy", which overwrites the one from the libxml2 source and just echos LO's LIBXML_* values and it adds -lm for all DISABLE_DYNLOADING targets. Change-Id: Ia713cf80c8e7dc989cf23c224e7a0f7ea1210a87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116409 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
* implement xor drawing directly using Skia (tdf#141090)Luboš Luňák2021-11-292-0/+14
| | | | | | | | | | | | | | | Up until now this has been implemented like in almost all other VCL backends by manually xor-ing pixel values. But that required fetching pixel values from the GPU in Vulkan mode, which is relatively slow. Since some time Skia now has supported writing custom blending modes using the SkBlender class, so it's now possible to drop the hack and support xor drawing directly using a blender that does the operation. This should be both faster and simpler. Change-Id: Id751d0ed4034852ce68697ecf56cc6dfac95307f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126051 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* update Skia to chrome/m97Luboš Luňák2021-11-258-148/+128
| | | | | | | Change-Id: I55ab0b25389dcce3263b38a2de12c437b47751c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125821 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* add with-system-abseil/with-system-openjpeg for pdfiumRene Engelhard2021-11-191-1/+24
| | | | | | | Change-Id: I270cbb75cde2a44416b61978b8eefdf267720031 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125559 Tested-by: Jenkins Reviewed-by: René Engelhard <rene@debian.org>
* support ccache for MSVC tooLuboš Luňák2021-11-176-0/+58
| | | | | | | | | | | | | | | | | There's no official MSVC support in ccache yet, but there are patches in progress of getting upstreamed. So right now it's necessary to get a patched ccache. Ccache cannot work with -Zi option, since sharing debuginfo in a .PDB cannot be cached. Added --enable-z7-symbols that gets enabled by default if ccache is detected. It works even with PCHs enabled, and externals seem to work too. I get almost 100% hit rate on a rebuild, although such a rebuild is slower than on Linux. Change-Id: I1d230ee1fccc441b9d9bec794cc2e1ec13161999 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125179 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* crashtesting: crash on passing null to std::string_viewCaolán McNamara2021-11-172-0/+31
| | | | | | | | | | with many documents, e.g. moz377878-1.xhtml https: //gitlab.com/orcus/orcus/-/merge_requests/113 Change-Id: I085543ebb28c02a1c0ec487b357f6e0a83004363 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125378 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* Update to ICU 70.1Eike Rathke2021-11-167-346/+145
| | | | | | | | | | | | | | | | | | | | Unicode 14, 5 new scripts, 12 new Unicode blocks. In i18npool/qa/cppunit/test_breakiterator.cxx TestBreakIterator::testLao() had to be disabled/adapted. Needs to be investigated, see comments there. As is, Lao script word break has regressions. Correct UBLOCK_TANGUT_SUPPLEMENT Unicode range endpoint to 0x18D7F, see https://www.unicode.org/versions/Unicode14.0.0/erratafixed.html for which ublock_getCode(0x18D8F) now returned UBLOCK_NO_BLOCK and thus luckily the assert in svx/source/dialog/charmap.cxx hit. Change-Id: I4bad16ecfab3f44be365b8f884c57f34af68218e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125322 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
* rhino: unbreak build on Fedora 34Michael Stahl2021-11-122-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometime during the Fedora 34 lifecycle, ant started to put /usr/share/java/rhino.jar on the classpath used to invoke javac, which results in: [javac] workdir/UnpackedTarball/rhino/src/org/mozilla/javascript/optimizer/Codegen.java:202: error: reference to Hashtable is ambiguous [javac] Hashtable possibleDirectCalls = null; [javac] ^ [javac] both class java.util.Hashtable in java.util and class org.mozilla.javascript.Hashtable in org.mozilla.javascript match Indeed /usr/share/java/rhino.jar contains a class org.mozilla.javascript.Hashtable, while it doesn't exist yet in the older rhino1_5R5.zip that is bundled. The problem is that the package ant-apache-bsf contains the file /etc/ant.d/apache-bsf which references the system rhino jar. It turns out that reading the /etc/ant.d/* files in the shell script /usr/bin/ant can be suppressed by setting the variable OPT_JAR_LIST to a non-empty value, which is documented as "A user should request optional jars and their dependencies via the OPT_JAR_LIST variable", but which is sadly ignored if set to an empty value. Another way to fix the problem is to patch the property build.sysclasspath to "ignore" in build.xml. http://ant.apache.org/manual/sysclasspath.html Change-Id: I6d82eb226e5d01d094ebe044dbdada85b8687814 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124934 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
* Include <cstdint> in fxcodec/fx_codec.hTor Lillqvist2021-11-121-0/+11
| | | | | | | | | | | Fixes the build of Pdfium on Fedora 34 for me. No idea why it wasn't needed on other platforms. Change-Id: Id0d6172383970b289b6b3b7f6b5c0da998167796 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125084 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Tor Lillqvist <tml@collabora.com>
* external: update pdfium to 4699Miklos Vajna2021-11-125-70/+15
| | | | | | | Change-Id: I545adce0491e48fad2bfc4003695bd96cc911f22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125068 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* external/poppler: Avoid missing typeinfo in UBSan buildsStephan Bergmann2021-11-112-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After 03bc0f97205593547ddf1fc8d4fb396479bcab6d "poppler: upgrade to release 21.11.0", my Linux Clang UBSan build started to fail to link Executable_xpdfimport with > ld.lld: error: undefined symbol: SplashOutputDev::SplashOutputDev(SplashColorMode, int, bool, unsigned char*, bool, SplashThinLineMode, bool) > >>> referenced by PSOutputDev.cc:3197 (workdir/UnpackedTarball/poppler/poppler/PSOutputDev.cc:3197) > >>> PSOutputDev.o:(PSOutputDev::checkPageSlice(Page*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*)) in archive workdir/LinkTarget/StaticLibrary/libpoppler.a > > ld.lld: error: undefined symbol: SplashOutputDev::startDoc(PDFDoc*) > >>> referenced by PSOutputDev.cc:3206 (workdir/UnpackedTarball/poppler/poppler/PSOutputDev.cc:3206) > >>> PSOutputDev.o:(PSOutputDev::checkPageSlice(Page*, double, double, int, bool, bool, int, int, int, int, bool, bool (*)(void*), void*, bool (*)(Annot*, void*), void*)) in archive workdir/LinkTarget/StaticLibrary/libpoppler.a > > ld.lld: error: undefined symbol: typeinfo for SplashOutputDev > >>> referenced by PSOutputDev.cc > >>> PSOutputDev.o:(.data+0x16208) in archive workdir/LinkTarget/StaticLibrary/libpoppler.a > >>> referenced by PSOutputDev.cc > >>> PSOutputDev.o:(.data+0x162A8) in archive workdir/LinkTarget/StaticLibrary/libpoppler.a > >>> referenced by PSOutputDev.cc > >>> PSOutputDev.o:(.data+0x16348) in archive workdir/LinkTarget/StaticLibrary/libpoppler.a > >>> referenced 6 more times because external/poppler/StaticLibrary_poppler.mk apparently only builds a curated subset of poppler source files, but in a UBSan build the implementation of GfxFontLoc *GfxFont::locateFont(XRef *xref, PSOutputDev *ps) in workdir/UnpackedTarball/poppler/poppler/GfxFont.cc (being the only place in Executable_xpdfimport that mentions PSOutputDev, i.e., which is apparently never instantiated in Executable_xpdfimport, and that ps argument is apparently always null) needs the PSOutputDev typeinfo, thus pulling in PSOutputDev.o from StaticLibrary_poppler (which contains the virtual PSOutputDev dtor and thus its typeinfo), which in turn needs the SplashOutputDev ctor and SplashOutputDev::startDoc from within PSOutputDev::checkPageSlice. The obvious fix would be to extend the curated list of source files to include the missing SplashOutputDev symbols, and any symbols recursively needed by those, but that would quickly lead to inclusion of workdir/UnpackedTarball/poppler/splash/SplashFontEngine.cc which would fail to compile due to a missing #include <ft2build.h> from FreeType. So instead of going down that road of adding in ever more stuff, lets try to leave out the problematic definition of PSOutputDev::checkPageSlice (which is apparently never called anyway, see above). But leaving that virtual function out completely would cause missing symbols in the PSOutputDev vtable emitted alongside the PSOputput dtor, but also leaving out that dtor (which is apparently never called anyway, either) would then suppress emission of the PSOutputDev typeinfo, which started this whole exercise. So, just for the UBSan builds, define PSOutputDev::checkPageSlice (never called anyway, see above) with an empty body, as the least invasive approach to avoid the missing typeinfo symbol. Change-Id: Ifcb80501b71f22d8f14ee29fd8e4480871ee36d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125071 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* poppler: upgrade to release 21.11.0Michael Stahl2021-11-112-13/+47
| | | | | | | | | The changelogs tend to mention "crash in malformed files" a lot. Change-Id: Iadc1d9cc23abd09a8fff58ba0cb7a7803236a542 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125034 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
* Add forward declaration to openldap to fix compilation with current XcodeTor Lillqvist2021-11-101-0/+12
| | | | | | | | | | | For some reason the warning about this undeclared function is treated as an error by the Clang version in current Xcode, at least for me, even if openldap isn't compiled with -Werror. Change-Id: Ic8479ca63031319ce55c6fb9d95132019ae82cae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124959 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Upgrade external/boost to latest Boost 1.77.0Stephan Bergmann2021-11-103-36/+5
| | | | | | | | | | | | | | | | | | | | | <https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz> has been generated (on Fedora 35) with > $ wget https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2 > $ printf 'fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854 boost_1_77_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_77_0.html> > boost_1_77_0.tar.bz2: OK > $ external/boost/repack_tarball.sh boost_1_77_0.tar.bz2 > Unpacking boost_1_77_0.tar.bz2 ... > Removing unnecessary files ... > Creating boost_1_77_0.tar.xz ... > Cleaning up ... > 9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e boost_1_77_0.tar.xz > Done. Change-Id: I527cad7eb2f311d968da371f268644bdd31f6462 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124947 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* external/clucene: Remove unnecessary uses of obsolete std::binary_functionStephan Bergmann2021-11-092-0/+35
| | | | | | | | | | | | | | | | ...which has been removed from C++17. libc++ and libstdc++ still silently support it, but MSVC needs an explicit -D_HAS_AUTO_PTR_ETC, and this change is a prerequisite to drop that global define again from solenv/gbuild/platform/com_MSC_defs.mk (it had been added there with 61c88ae6945c241f5f2aeb844eeca0776b487132 "gbuild: always compile as C++17 with MSVC 2017", but code including external/clucene, like helpcompiler/source/LuceneHelper.cxx, appears to be the only code relying on that global define) Change-Id: I512d56f833c516dba3874cb0b4ef5190a88d3faf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124900 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* upgrade to libexttextcat-3.4.6Caolán McNamara2021-11-081-1/+16
| | | | | | | Change-Id: I8302f4fed3f7c9a1c2a1b374114066b1327f34c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124844 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* icu: add patch for CVE-2021-30535Michael Stahl2021-11-052-0/+107
| | | | | | | Change-Id: I398596f77aa47ab6d4db01b94422262048cffd3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124779 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
* The std::auto_ptr workarounds should no longer be necessaryStephan Bergmann2021-11-041-7/+0
| | | | | | | | | | | | | | | | | | | | | | ...with the bundled Boost 1.76.0, as boost/locale no longer uses it since <https://github.com/boostorg/locale/commit/322437a485c63d9fce4dc620597b6c75b6396daf> "Adding dual auto_ptr/unique_ptr support" in Boost 1.67.0 in combination with BOOST_NO_AUTO_PTR being set automatically when building for C++17 and beyond for both libc++ (via <https://github.com/boostorg/config/commit/0df7552f38cc059defa4189d7a36101925559eb8> "define BOOST_NO_AUTO_PTR when building with libc++ and C++17" in Boost 1.65.0) and MSVC (via <https://github.com/boostorg/config/commit/776bc8ac107e864fc4c51d6aee0e532026a50281> "Update for MSVC14's _HAS_AUTO_PTR_ETC" in Boost 1.60.0; if we didn't globally set _HAS_AUTO_PTR_ETC in gb_COMPILERDEFS in solenv/gbuild/platform/com_MSC_defs.mk since 61c88ae6945c241f5f2aeb844eeca0776b487132 "gbuild: always compile as C++17 with MSVC 2017" anyway) Change-Id: Idd9d44c8350217f19ad2fa6749b90a9ffce38511 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124712 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Revert "tdf#132499: first stab to remove old stuff from ODBC ver < 3"Julien Nabet2021-11-042-0/+78
| | | | | | | | | | | This reverts commit 55133fc5fc499f6266f75ad3df77106f12333201. Reason for revert: this kind of change should be done upstream. Change-Id: I4051d13fe290bc750dbab820e1af68827eb9bfff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124692 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Revert "tdf#132499: consider ODBCVER >= 0x0300 and remove tests about it ↵Julien Nabet2021-11-044-1/+258
| | | | | | | | | | | | | (unixODBC)" This reverts commit 0464b86787da269be7b16a6f1f124d774f78fa97. Reason for revert: This kind of change should be made upstream Change-Id: I0dfe9ec198f826f636a7b2b2ba593b66c7e14c5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124691 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Consolidate -D_GLIBCXX_DEBUG for --enable-dbgutil builds against libstdc++Stephan Bergmann2021-11-046-26/+6
| | | | | | | | | | | | | | (this was meant as a prerequisite for enabling its -D_LIBCPP_DEBUG=1 counterpart when building against libc++ on macOS, but which got stalled for now after running into the issue described at <https://lists.llvm.org/pipermail/libcxx-dev/2021-October/001222.html> "[libcxx-dev] Building a program with -D_LIBCPP_DEBUG=1 against a libc++ that is not itself built with that define") Change-Id: If466dce595a9311b2afbae41d5ddcaecc6f3c57b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124678 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* external/nss: Silence invalid-null-argumentStephan Bergmann2021-11-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...that happens now with --with-webdav=curl, > libc.c:107:21: runtime error: null pointer passed as argument 1, which is declared to never be null > /usr/include/string.h:65:33: note: nonnull attribute specified here > #0 in nsslibc_memequal at workdir/UnpackedTarball/nss/nss/lib/base/libc.c:107:14 (instdir/program/libnss3.so +0x68cdb7) > #1 in nssItem_Equal at workdir/UnpackedTarball/nss/nss/lib/base/item.c:185:12 (instdir/program/libnss3.so +0x68f59c) > #2 in find_object_in_collection at workdir/UnpackedTarball/nss/nss/lib/pki/pkibase.c:714:18 (instdir/program/libnss3.so +0x63a72c) > [...] > #49 in (anonymous namespace)::UpdateCheckThread::run() at extensions/source/update/check/updatecheck.cxx:534:48 (instdir/program/../program/libupdchklo.so +0x2235de) > #50 in threadFunc at include/osl/thread.hxx:189:15 (instdir/program/../program/libupdchklo.so +0x251c74) > #51 in osl_thread_start_Impl(void*) at sal/osl/unx/thread.cxx:264:9 (instdir/program/libuno_sal.so.3 +0x65689f) The topmost nsslibc_memequal itself appears to be modeled after memcmp and not be intended to be called with null pointer arguments even if the size argument is zero, see its leading #ifdef NSSDEBUG if ((((void *)NULL == a) || ((void *)NULL == b))) { nss_SetError(NSS_ERROR_INVALID_POINTER); if ((PRStatus *)NULL != statusOpt) { *statusOpt = PR_FAILURE; } return PR_FALSE; } #endif /* NSSDEBUG */ in workdir/UnpackedTarball/nss/nss/lib/base/libc.c, so rather put the check for zero into the calling code in nssItem_Equal. However, it is unclear to me whether one->data can legitimately be null there (and the patch is thus correct) or not (and the patch would thus silence a bug elsewhere; esp. given that nsslibc_memequal would return false instead of true in this case when compiled with NSSDEBUG.) Change-Id: Ie7556283cda500130dfcd1cfd315294277573b7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124663 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Upgrade mdds and liborcus to 2.0.0 and 0.17.0, respectively.Kohei Yoshida2021-11-0316-394/+1840
| | | | | | | | Change-Id: I9e856fc2d61f1789a6f1702514837860539a0f49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124573 Tested-by: Jenkins Tested-by: René Engelhard <rene@debian.org> Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
* tdf#132499: consider ODBCVER >= 0x0300 and remove tests about it (unixODBC)Julien Nabet2021-11-034-258/+1
| | | | | | | Change-Id: I47eb05309ac7569e1e89a93d3b482c7bff97c159 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124611 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* PCH for external/popplerLuboš Luňák2021-11-035-0/+107
| | | | | | | Change-Id: Ic534528d9aeab103d93dc2a627e15460766aec2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124653 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* PCH for external/zxingLuboš Luňák2021-11-033-0/+105
| | | | | | | Change-Id: Ia4bfa53ff56f64c7ba8fa068bbbe9dff2c4a84fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124652 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* tdf#132499: first stab to remove old stuff from ODBC ver < 3Julien Nabet2021-11-022-78/+0
| | | | | | | Change-Id: I683d4933fe4a2453b8ac5e9e8aa61946c4173bac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124566 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* crashtesting: ended up using the wrong strerror_rCaolán McNamara2021-11-021-5/+9
| | | | | | | | | | | | | | since... commit bbab833bd956e220db3548ddd0a00dfd30836de1 Date: Thu Oct 28 10:07:00 2021 +0100 endian check in internal neon looks dubious Change-Id: If96bb1bc1dda70f25fa49b3c68ee8993db7d9017 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124587 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* curl: build with zlib on WNTMichael Stahl2021-11-014-1/+19
| | | | | | | Change-Id: I53eb6ed41fb8a17a79f72807df15822e9c1c6e88 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124290 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
* curl: patch invalid format string in debug logMichael Stahl2021-11-012-0/+12
| | | | | | | | | | This causes: soffice.bin: sendf.c:243: Curl_infof: Assertion `!strchr(fmt, '\n')' failed. Change-Id: I5a78b2225f6769cc49025e1e73ce72cd3d6bec16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122963 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
* Switch to a newer version of ZXing libraryhomeboy4452021-10-301-16/+7
| | | | | | | Change-Id: Ib2b919bb7545f05631aed2e6176a97aeb866ee84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122772 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
* upgrade libjpeg-turbo to 2.1.1Caolán McNamara2021-10-309-202/+358
| | | | | | | | | | simd enabled for x86_64 and x86, arm/aarch64 might be worth exploring too Change-Id: Ic2726ee8c6b6e59ca983b977ee2731f5b78b97d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123898 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* external/nss: More -Werror,-Wunknown-pragmas with clang-clStephan Bergmann2021-10-291-0/+11
| | | | | | | | | | | | | | > In file included from C:/lo-clang/core/xmlsecurity/source/xmlsec/nss/ciphercontext.cxx:28: > In file included from C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss\pk11pub.h:12: > In file included from C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss/pk11hpke.h:8: > C:/lo-clang/core/workdir/UnpackedTarball/nss/dist/public/nss/blapit.h(66,9): error: unknown pragma ignored [-Werror,-Wunknown-pragmas] > #pragma deprecated(DSA_SUBPRIME_LEN, DSA_SIGNATURE_LEN, DSA_QBITS) > ^ Change-Id: If84d8640d770ed20a6492678a9bc7fe4f4a547f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124407 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* endian check in internal neon looks dubiousCaolán McNamara2021-10-281-1/+3
| | | | | | | Change-Id: Idebe6d07e37a28c005565f1e14826756be4e3a8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124318 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* try harder not to mix CPU-specific code with generic codeLuboš Luňák2021-10-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | Jenkins Windows builds occassionally fails with illegal instruction (https://ci.libreoffice.org/job/gerrit_windows/110191/console). This seems to be because those AVX etc. files use std::abs(double), which is really just a fancy inline function calling the real fabs() or whatever function. And in debug builds inlines do not get inlined, they get emitted as copies. And since arraysumAVX.cxx is listed as the first object for Library_sc, apparently the linker likes to pick up the AVX-compiled inline function as the std::abs() version to use for Library_sc. Try to avoid this in two ways: - move the CPU-specific object files later in the list of library files - use plain C headers in those sources, no fancy <cmath> Change-Id: Ifd14076f79e9fbd7cc4c4a63a9764dff6715e63a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124249 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
* external/breakpad: Silence some UBSan warningsStephan Bergmann2021-10-272-0/+30
| | | | | | | | | | | | | | | | | | | | | ...which I happened to run into when the breakpad code kicked in due to some crash happening, > src/client/linux/minidump_writer/minidump_writer.cc:721:12: runtime error: null pointer passed as argument 2, which is declared to never be null /usr/include/string.h:44:28: note: nonnull attribute specified here > src/client/linux/minidump_writer/minidump_writer.cc:763:14: runtime error: applying non-zero offset to non-null pointer 0x000000200000 produced null pointer > src/client/linux/minidump_writer/minidump_writer.cc:772:64: runtime error: applying non-zero offset 3200848 to null pointer (Unlike the changes in the existing external/breakpad/ubsan.patch, which is only applied when doing sanitizer builds, these changes should be non-controversial and OK to apply always, so they go into a different patch file.) Change-Id: Ib1b3f87ba22f96d5fb93b8fcb9951ddc3c353697 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124245 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* Make external/breakpad/ubsan.patch apply againStephan Bergmann2021-10-221-3/+3
| | | | | | | | | | | | (It apparently silently broke with something like ff673ce838a5538b1432daf9007c047f6455a5ba "update breakpad to the current chrome_m90 snapshot" and nobody doing ASan/UBSan builds with --enable-breakpad in the meantime.) Change-Id: Ic955e1725d2493d849b460a09dfa0238815e2c8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124033 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* freetype: Build '--without-brotli'Michael Weghorn2021-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit c99b73c16b725ec2bf2f5417f28d1688c3322d7d Date: Wed Oct 20 12:08:02 2021 +0100 upgrade freetype to 2.11.0 my local Android x86 build (using NDK 20.0.5594570) started failing with In file included from .../workdir/UnpackedTarball/freetype/src/sfnt/sfnt.c:25: .../workdir/UnpackedTarball/freetype/src/sfnt/sfwoff2.c:27:10: fatal error: 'brotli/decode.h' file not found #include <brotli/decode.h> ^~~~~~~~~~~~~~~~~ 1 error generated. Disable the optional Brotli dependency added upstream with commit 9443a1bc3e6cfa315db976ff80f6c5e91b12b387 Author: Nikhil Ramakrishnan (निखिल रामकृष्णन) <ramakrishnan.nikhil@gmail.com> Date: Fri Jun 28 01:01:17 2019 +0530 Add Brotli dependency and required checks. Brotli is required for decompressing WOFF2 font directory streams. The library is thus being added as an optional dependency for FreeType. * builds/unix/configure.raw: Add checks for `libbrotlidec'. (REQUIRES_PRIVATE, LIBS_PRIVATE, LIBSSTATIC_CONFIG): Updated. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_BROTLI): New macro. Change-Id: Iea8d3e333cb60182026fb9fde5a0171ae197ee57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124031 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* Mark external/cppunit/order.patch.0 as upstreamedStephan Bergmann2021-10-211-0/+2
| | | | | | | Change-Id: Ic0bfacd74e007c979d574e65767cbfb0d40c9ef7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123965 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* upgrade glm to 0.0.9.9.8Caolán McNamara2021-10-202-17/+17
| | | | | | | Change-Id: I39ca17984cc03de815386343b2f4c4fffd5c861e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123891 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* upgrade liblangtag to 0.6.3Caolán McNamara2021-10-203-51/+0
| | | | | | | | | | | | | langtag-valencia.patch.0 merged as: https://bitbucket.org/tagoh/liblangtag/commits/fe35532a0b98d5a8179b9edee0d61ea8db9b5921 external/liblangtag/Wformat-overflow.patch redundant since: https://bitbucket.org/tagoh/liblangtag/commits/49135ef561f309078f0bfd6e1f15052769cf75b4 Change-Id: Ieeb19679837f03a6938c97f069d6fb1e6dd9a30d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123890 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* upgrade freetype to 2.11.0Caolán McNamara2021-10-201-16/+16
| | | | | | | Change-Id: I794e188daf2d50c457a80bc3b12bfafd0c91c8aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123887 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* upgrade lcms2 to 2.12Caolán McNamara2021-10-202-25/+39
| | | | | | | Change-Id: I40c3239495c6050add3ce2343453241f8c825d62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123886 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* upgrade libepoxy to 1.5.9Caolán McNamara2021-10-203-14/+17
| | | | | | | | | | removed epoxy.pyresource-leak.patch in favor of upstream https://github.com/anholt/libepoxy/pull/243/commits/d0b319e27b874a13f6b41f4759c272b08d74cb8a Change-Id: I9d3545b1dcf9dbdd5e28a54e13477a027636c444 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123882 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* upgrade curl to 7.79.1Caolán McNamara2021-10-202-11/+11
| | | | | | | | | | | | includes: CVE-2021-22945: clear the leftovers pointer when sending succeeds CVE-2021-22946: do not ignore --ssl-reqd CVE-2021-22947: reject STARTTLS server response pipelining Change-Id: I0047bdaa7e6e3aed1317eb014d2051a4d5ac5964 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123883 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
* nss: upgrade to release 3.71Michael Stahl2021-10-207-115/+8
| | | | | | | | | | | * external/nss/nss.getopt.patch.0: fixed upstream * external/nss/nss-win-arm64.patch: fixed upstream * external/nss/nss_macosx.patch: one hunk was fixed upstream Change-Id: I2bcfbbdd29651c75537419caab9a3cce5d564131 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123817 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
* Mark external/breakpad/SIGSTKSZ.patch as upstreamedStephan Bergmann2021-10-151-1/+4
| | | | | | | Change-Id: I895b034ecda257e1488c46054b13140196790639 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123658 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>