Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


On 03/05/2019 13:58, Stephan Bergmann wrote:
This is a heads up for anybody using Clang ASan/UBSan on Linux:

(1)  If you are using Clang trunk (towards Clang 9), make sure you have <https://github.com/llvm/llvm-project/commit/5745eccef54ddd3caca278d1d292a88b2281528b> "Adapt -fsanitize=function to SANITIZER_NON_UNIQUE_TYPEINFO".  Configure now assumes that "Clang >= 9" implies that fix, and otherwise building or running LO could fail.

(2)  I want to eventually get rid of the legacy NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY code, so if you are using an older Clang, it would be great if you could upgrade as soon as convenient for you (and once Clang 9 is even out).

* <https://ci.libreoffice.org/job/lo_ubsan/> is now using an appropriate Clang trunk (see <https://gerrit.libreoffice.org/plugins/gitiles/lode/+/2c94cfcf1377c4bb1808473d8163b23e6b62f4eb%5E%21/> "Bump ASan/UBSan bot to Clang trunk towards Clang 9").

* The fuzzer machinery was already using Clang trunk and appears to not be negatively affected by the below 9a7aa3326d087c79879e435179e359dd76aa5e0a "The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux..." (Caolán, correct me if I'm wrong).

* <https://gerrit.libreoffice.org/72493> "Remove legacy solenv/sanitizers/asan-suppressions support" will drop the legacy NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY code (and the no longer needed solenv/sanitizers/asan-suppressions, which people might still reference from their ASAN_OPTIONS), I plan on submitting it in a week, say. Speak up now if you still need non-trunk Clang supported for sanitizer builds!

On 03/05/2019 13:47, Stephan Bergmann (via logerrit) wrote:
New commits:
commit 9a7aa3326d087c79879e435179e359dd76aa5e0a
Author:     Stephan Bergmann <sbergman@redhat.com>
AuthorDate: Tue Apr 16 16:11:39 2019 +0200
Commit:     Stephan Bergmann <sbergman@redhat.com>
CommitDate: Fri May 3 13:46:25 2019 +0200

     The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...      ...with latest Clang trunk towards Clang 9.  All the no-longer necessary hacks      are made conditional on new NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY, which is      still set for UBSan builds with older Clang on Linux (but which should
     eventually be purged).
     Various classes needed additional SAL_DLLPUBLIC_RTTI annotations, as building      with UBSan instrumentation can generate references to RTTI symbols from      additional places like outside a dynamic library that used to hide those symbols      by default (but used to not hide them for old UBSan builds thanks to the
     -fvisibility-ms-compat hack).
     The odr-violation suppressions in solenv/sanitizers/asan-suppressions (which is      not referenced from anywhere in the code base, but meant to be included in an      ASan/UBSan build's ASAN_OPTIONS env var) are also no longer needed when
     NEED_CLANG_LINUX_UBSAN_RTTI_VISIBILITY is false.
     Change-Id: I24ec3e388b0cbab50dbe2bf008d9569bff7bf25a
     Reviewed-on: https://gerrit.libreoffice.org/70829
     Tested-by: Jenkins
     Reviewed-by: Stephan Bergmann <sbergman@redhat.com>

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.