Skip to content

Commit dcd0553

Browse files
sanitizer builds only for gcc15 and clang20. no linking check for sanitizer builds
Signed-off-by: Pratik Mankawde <[email protected]>
1 parent 6355eba commit dcd0553

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

.github/scripts/strategy-matrix/generate.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,14 +164,16 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
164164
# Add the configuration to the list, with the most unique fields first,
165165
# so that they are easier to identify in the GitHub Actions UI, as long
166166
# names get truncated. Add Address and Thread (both coupled with UB) sanitizers when the distro is bookworm.
167-
if os['distro_version'] == 'bookworm':
167+
if os['distro_version'] == 'bookworm' and f'{os["compiler_name"]}-{os["compiler_version"]}' in {'gcc-15', 'clang-20'}:
168168
# Use medium code model to avoid relocation errors with large binaries
169169
# Only for x86-64 (amd64) - ARM64 doesn't support -mcmodel=medium
170170
extra_warning_flags = ''
171171
linker_flags = ''
172172
if architecture['platform'] == 'linux/amd64':
173+
# Add -mcmodel=medium to both compiler AND linker flags
174+
# This is needed because sanitizers create very large binaries
173175
cxx_flags += ' -mcmodel=medium'
174-
linker_flags = ' -DCMAKE_EXE_LINKER_FLAGS="-mcmodel=medium" -DCMAKE_SHARED_LINKER_FLAGS="-mcmodel=medium"'
176+
linker_flags = ' -DCMAKE_EXE_LINKER_FLAGS=-mcmodel=medium -DCMAKE_SHARED_LINKER_FLAGS=-mcmodel=medium'
175177
# Suppress false positive warnings in GCC with stringop-overflow
176178
if os['compiler_name'] == 'gcc':
177179
extra_warning_flags += ' -Wno-stringop-overflow'

.github/workflows/reusable-build-test-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ jobs:
146146
if-no-files-found: error
147147

148148
- name: Check linking (Linux)
149-
if: ${{ runner.os == 'Linux' }}
149+
if: ${{ runner.os == 'Linux' && input.sanitizers == '' }}
150150
working-directory: ${{ inputs.build_dir }}
151151
run: |
152152
ldd ./rippled

external/asan_suppressions.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Suppress voilations in Boost libraries
2-
interceptor_via_lib:libboost_.*
2+
interceptor_via_lib:^libboost_.*
33
# Suprpress voilations in external code
44
interceptor_name:^external/*

external/tsan_suppressions.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
called_from_lib:^libboost_.*

0 commit comments

Comments
 (0)