[Libreoffice-commits] core.git: The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...

Stephan Bergmann 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 
> <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 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 
>> 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 at redhat.com>


More information about the LibreOffice mailing list