Page MenuHomePhabricator

[CI] Enable the undefined behaviour sanitizer
ClosedPublic

Authored by Fabien on Thu, Jul 25, 21:26.

Details

Reviewers
deadalnix
jasonbcox
Group Reviewers
Restricted Project
Commits
rABC7e560769acbe: [CI] Enable the undefined behaviour sanitizer
Summary

This diff enables UBSAN build.
It requires running with clang as UBSAN support in gcc is very poor (at
least until most recent versions ; in particular it won't run on Debian
9 which is our current CI target).

Test Plan

Run the CI build-ubsan config.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Fabien created this revision.Thu, Jul 25, 21:26
Herald added a reviewer: Restricted Project. · View Herald TranscriptThu, Jul 25, 21:26
jasonbcox requested changes to this revision.Thu, Jul 25, 21:38
jasonbcox added a subscriber: jasonbcox.
jasonbcox added inline comments.
contrib/teamcity/build-configurations.sh
16 ↗(On Diff #10495)

If we're going to run these together, then this should be renamed.

This revision now requires changes to proceed.Thu, Jul 25, 21:38
Fabien added a comment.Fri, Jul 26, 08:18

Test passed on CI

Fabien updated this revision to Diff 10498.Fri, Jul 26, 08:19

Rename the build to include ubsan.

deadalnix added inline comments.Fri, Jul 26, 13:31
contrib/teamcity/build-configurations.sh
17 ↗(On Diff #10498)

It's probably preferable to run them together and have 2 builds instead, no?

Fabien updated this revision to Diff 10615.Mon, Aug 5, 16:41

Separate build-ubsan from build-asan.

Fabien edited the summary of this revision. (Show Details)Mon, Aug 5, 16:45
Fabien edited the test plan for this revision. (Show Details)
jasonbcox accepted this revision.Mon, Aug 5, 17:01
This revision is now accepted and ready to land.Mon, Aug 5, 17:01
This revision was automatically updated to reflect the committed changes.