Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only blacklist the TSAN file when using clang compiler #1713

Merged
merged 5 commits into from Feb 16, 2019

Conversation

Projects
3 participants
@wezrule
Copy link
Collaborator

commented Feb 8, 2019

This solves #1656

When enabling TSAN on my system using gcc my build fails because -fsanitize-blacklist is not supported. I'm not sure if gcc currently supports this at all, at least the latest version (8.2.1) on the Fedora 29 repository doesn't. I tried using check_cxx_compiler_flag to check if -fsanitize-blacklist but this didn't work on MAC, so I'm now just checking for the only supported compiler (Clang).

In my searching I have found:
https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions which allows a file to be specified with special key:value pair options using the environment variable: TSAN_OPTIONS=suppressions:filename .This may be useful in future

Tested on a system which supports (Mac/Clang) and doesn't (Linux/gcc).

Unrelated: exception specifiers are deprecated in c++11 so display a warning, this is removed.

@wezrule wezrule added the build-error label Feb 8, 2019

@wezrule wezrule self-assigned this Feb 8, 2019

@wezrule wezrule requested a review from cryptocode Feb 8, 2019

@argakiig argakiig added this to the V18.0 milestone Feb 8, 2019

@zhyatt zhyatt added this to During RC in V18 Feb 11, 2019

@wezrule wezrule merged commit 2331c69 into nanocurrency:master Feb 16, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@wezrule wezrule deleted the wezrule:use_tsan_blacklist_clang_only branch Feb 16, 2019

@wezrule

This comment has been minimized.

Copy link
Collaborator Author

commented Feb 16, 2019

Checking in for now, until we have support for the suppressions TSAN_OPTIONS file

argakiig added a commit that referenced this pull request Feb 18, 2019

Only blacklist the TSAN file when using clang compiler (#1713)
* Only use -fsanitize-blacklist with Clang

* Instead check if the compiler flag exists

* Remove deprecated exception specification warning

* Didn't work, go back to checking for Clang

* cleanup

@zhyatt zhyatt moved this from RC2 to RC3 in V18 Feb 18, 2019

@argakiig argakiig modified the milestones: V18.0, V19.0 Mar 15, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.