Skip to content

Commit e91c0d3

Browse files
committed
[libc++] Add a new job running the CFI sanitizer
1 parent 9f66062 commit e91c0d3

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ jobs:
155155
machine: libcxx-self-hosted-linux
156156
- config: 'generic-asan'
157157
machine: libcxx-self-hosted-linux
158+
- config: 'generic-cfisan'
159+
machine: libcxx-self-hosted-linux
158160
- config: 'generic-tsan'
159161
machine: libcxx-self-hosted-linux
160162
- config: 'generic-ubsan'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
set(LLVM_USE_SANITIZER "CFI" CACHE STRING "")

libcxx/utils/ci/run-buildbot

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,11 @@ generic-ubsan)
370370
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-ubsan.cmake"
371371
check-runtimes
372372
;;
373+
generic-cfisan)
374+
clean
375+
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cfisan.cmake"
376+
check-runtimes
377+
;;
373378
#
374379
# Various build configurations
375380
#

libcxx/utils/libcxx/test/params.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ def getSuitableClangTidy(cfg):
303303
"",
304304
"Address",
305305
"HWAddress",
306+
"CFI",
306307
"Undefined",
307308
"Memory",
308309
"MemoryWithOrigins",
@@ -327,6 +328,9 @@ def getSuitableClangTidy(cfg):
327328
AddFlag("-fsanitize=hwaddress") if sanitizer == "HWAddress" else None,
328329
AddFeature("hwasan") if sanitizer == "HWAddress" else None,
329330

331+
AddFlag("-fsanitize=cfi") if sanitizer == "CFI" else None,
332+
AddFeature("cfi") if sanitizer == "CFI" else None,
333+
330334
AddFlag("-fsanitize=memory") if sanitizer in ["Memory", "MemoryWithOrigins"] else None,
331335
AddFeature("msan") if sanitizer in ["Memory", "MemoryWithOrigins"] else None,
332336
AddFlag("-fsanitize-memory-track-origins") if sanitizer == "MemoryWithOrigins" else None,

0 commit comments

Comments
 (0)