darktable-org / darktable-org/rawspeed

ASan in Release

Open
#212 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
456
Forks
147
PR merge metrics
No merged PRs in 30d

Description

I'm running into the issue that I want to test with Address Sanitizer in Release build mode. However, this is not automatically detected as a "SPECIAL_BUILD" in the CMake logic. Thus, it checks stack frame sizes, that are too small for the extra overhead ASan includes.

To be honest, I don't really understand how the CMake logic works: https://github.com/darktable-org/rawspeed/blob/develop/cmake/build-type.cmake

Is there a proper way to trigger the SPECIAL_BUILD from a parent CMake project?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with cmake/build-type.cmake and trace how Release builds are classified when Address Sanitizer is enabled from a parent CMake project. Determine how SPECIAL_BUILD is intended to be triggered and how that affects stack-frame-size checks. Done means an ASan Release build is recognized correctly and no longer applies incompatible stack-size checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.