[Libreoffice-commits] core.git: The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...
sbergman at redhat.com
Fri May 17 15:46:00 UTC 2019
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
> "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
"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
* <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 at redhat.com>
>> AuthorDate: Tue Apr 16 16:11:39 2019 +0200
>> Commit: Stephan Bergmann <sbergman at redhat.com>
>> CommitDate: Fri May 3 13:46:25 2019 +0200
>> The -fvisibility-ms-compat hack is no longer needed for UBSan on
>> ...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
>> 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 at redhat.com>
More information about the LibreOffice