mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-29 15:35:50 +00:00
sanitizer builds only for gcc15 and clang20. no linking check for sanitizer builds
Signed-off-by: Pratik Mankawde <pmankawde@ripple.com>
This commit is contained in:
6
.github/scripts/strategy-matrix/generate.py
vendored
6
.github/scripts/strategy-matrix/generate.py
vendored
@@ -164,14 +164,16 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
|
|||||||
# Add the configuration to the list, with the most unique fields first,
|
# Add the configuration to the list, with the most unique fields first,
|
||||||
# so that they are easier to identify in the GitHub Actions UI, as long
|
# so that they are easier to identify in the GitHub Actions UI, as long
|
||||||
# names get truncated. Add Address and Thread (both coupled with UB) sanitizers when the distro is bookworm.
|
# names get truncated. Add Address and Thread (both coupled with UB) sanitizers when the distro is bookworm.
|
||||||
if os['distro_version'] == 'bookworm':
|
if os['distro_version'] == 'bookworm' and f'{os["compiler_name"]}-{os["compiler_version"]}' in {'gcc-15', 'clang-20'}:
|
||||||
# Use medium code model to avoid relocation errors with large binaries
|
# Use medium code model to avoid relocation errors with large binaries
|
||||||
# Only for x86-64 (amd64) - ARM64 doesn't support -mcmodel=medium
|
# Only for x86-64 (amd64) - ARM64 doesn't support -mcmodel=medium
|
||||||
extra_warning_flags = ''
|
extra_warning_flags = ''
|
||||||
linker_flags = ''
|
linker_flags = ''
|
||||||
if architecture['platform'] == 'linux/amd64':
|
if architecture['platform'] == 'linux/amd64':
|
||||||
|
# Add -mcmodel=medium to both compiler AND linker flags
|
||||||
|
# This is needed because sanitizers create very large binaries
|
||||||
cxx_flags += ' -mcmodel=medium'
|
cxx_flags += ' -mcmodel=medium'
|
||||||
linker_flags = ' -DCMAKE_EXE_LINKER_FLAGS="-mcmodel=medium" -DCMAKE_SHARED_LINKER_FLAGS="-mcmodel=medium"'
|
linker_flags = ' -DCMAKE_EXE_LINKER_FLAGS=-mcmodel=medium -DCMAKE_SHARED_LINKER_FLAGS=-mcmodel=medium'
|
||||||
# Suppress false positive warnings in GCC with stringop-overflow
|
# Suppress false positive warnings in GCC with stringop-overflow
|
||||||
if os['compiler_name'] == 'gcc':
|
if os['compiler_name'] == 'gcc':
|
||||||
extra_warning_flags += ' -Wno-stringop-overflow'
|
extra_warning_flags += ' -Wno-stringop-overflow'
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Check linking (Linux)
|
- name: Check linking (Linux)
|
||||||
if: ${{ runner.os == 'Linux' }}
|
if: ${{ runner.os == 'Linux' && input.sanitizers == '' }}
|
||||||
working-directory: ${{ inputs.build_dir }}
|
working-directory: ${{ inputs.build_dir }}
|
||||||
run: |
|
run: |
|
||||||
ldd ./rippled
|
ldd ./rippled
|
||||||
|
|||||||
2
external/asan_suppressions.txt
vendored
2
external/asan_suppressions.txt
vendored
@@ -1,4 +1,4 @@
|
|||||||
# Suppress voilations in Boost libraries
|
# Suppress voilations in Boost libraries
|
||||||
interceptor_via_lib:libboost_.*
|
interceptor_via_lib:^libboost_.*
|
||||||
# Suprpress voilations in external code
|
# Suprpress voilations in external code
|
||||||
interceptor_name:^external/*
|
interceptor_name:^external/*
|
||||||
|
|||||||
1
external/tsan_suppressions.txt
vendored
1
external/tsan_suppressions.txt
vendored
@@ -0,0 +1 @@
|
|||||||
|
called_from_lib:^libboost_.*
|
||||||
Reference in New Issue
Block a user