Browse Source

Exclude known thirdparty/ ubsan errors

In my quest to make ubsan failures a build failure I've added all
current ubsan errors by type to a new suppression file which we will
then also use with CI.

The idea is to only add known ubsan errors to this file, so this is not
a blanket exclusion of thirdparty/ this means that if we get new or
unexpected ubsan in thirdparty/ builds would fail.
HP van Braam 9 months ago
parent
commit
70dbc311d1
2 changed files with 33 additions and 0 deletions
  1. 1 0
      .github/workflows/linux_builds.yml
  2. 32 0
      misc/error_suppressions/ubsan.txt

+ 1 - 0
.github/workflows/linux_builds.yml

@@ -10,6 +10,7 @@ env:
   DOTNET_NOLOGO: true
   DOTNET_CLI_TELEMETRY_OPTOUT: true
   TSAN_OPTIONS: suppressions=misc/error_suppressions/tsan.txt
+  UBSAN_OPTIONS: suppressions=misc/error_suppressions/ubsan.txt
 
 concurrency:
   group: ci-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}-linux

+ 32 - 0
misc/error_suppressions/ubsan.txt

@@ -0,0 +1,32 @@
+implicit-integer-sign-change:thirdparty/basis_universal/transcoder/basisu_astc_helpers.h
+implicit-integer-sign-change:thirdparty/harfbuzz/src/hb-algs.hh
+implicit-integer-sign-change:thirdparty/harfbuzz/src/hb-buffer.hh
+implicit-integer-sign-change:thirdparty/harfbuzz/src/hb-cache.hh
+implicit-integer-sign-change:thirdparty/harfbuzz/src/hb-face.hh
+implicit-integer-sign-change:thirdparty/harfbuzz/src/hb-ot-layout-gsubgpos.hh
+implicit-integer-sign-change:thirdparty/harfbuzz/src/OT/name/name.hh
+implicit-integer-sign-change:thirdparty/icu4c/common/bmpset.cpp
+implicit-integer-sign-change:thirdparty/icu4c/common/ubidiln.cpp
+implicit-integer-sign-change:thirdparty/icu4c/common/unicode/unistr.h
+implicit-integer-sign-change:thirdparty/icu4c/common/unistr.cpp
+implicit-integer-sign-change:thirdparty/icu4c/common/uresbund.cpp
+implicit-integer-sign-change:thirdparty/icu4c/common/ustrtrns.cpp
+implicit-integer-sign-change:thirdparty/jpeg-compressor/jpgd.cpp
+implicit-integer-sign-change:thirdparty/libogg/bitwise.c
+implicit-integer-sign-change:thirdparty/libvorbis/info.c
+implicit-integer-sign-change:thirdparty/libvorbis/sharedbook.c
+implicit-integer-sign-change:thirdparty/mbedtls/library/base64.c
+implicit-integer-sign-change:thirdparty/misc/smolv.cpp
+implicit-integer-sign-change:thirdparty/recastnavigation/Recast/Include/Recast.h
+implicit-integer-sign-change:thirdparty/recastnavigation/Recast/Source/RecastMesh.cpp
+implicit-integer-sign-change:thirdparty/thorvg/src/renderer/sw_engine/tvgSwRaster.cpp
+implicit-integer-sign-change:thirdparty/tinyexr/tinyexr.h
+implicit-integer-sign-change:thirdparty/vulkan/vk_mem_alloc.h
+implicit-integer-sign-change:thirdparty/zlib/trees.c
+implicit-integer-sign-change:thirdparty/zstd/compress/zstd_cwksp.h
+integer-divide-by-zero:thirdparty/misc/ok_color.h
+integer-divide-by-zero:thirdparty/rvo2/rvo2_2d/Agent2d.cpp
+shift-base:thirdparty/libogg/bitwise.c
+shift-base:thirdparty/libvorbis/sharedbook.c
+shift-base:thirdparty/noise/FastNoiseLite.h
+signed-integer-overflow:thirdparty/noise/FastNoiseLite.h