catchorg/Catch2

add substitute-path to gdbinit for prefix-map (reproducible build), and pick a unique prefix

Open

#3042 aperta il 19 ott 2025

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)C++ (3228 fork)batch import
ExtrasHelp wanted

Metriche repository

Star
 (20.381 star)
Metriche merge PR
 (Merge medio 4g 16h) (2 PR mergiate in 30 g)

Descrizione

CATCH_ENABLE_REPRODUCIBLE_BUILD adds a -ffile-prefix-map=${CATCH_DIR}/= compile option. It would be nice for the bundled gdbinit file to add a corresponding set substitute-path line for this. A potential issue is that set substitute-path works like this:

Define a source path substitution rule, and add it at the end of the current list of existing substitution rules. If a rule with the same from was already defined, then the old rule is also deleted.

If I'm reading the compile option correctly, Catch2 appears to be mapping to an empty path, so I presume that adding a substitute-path for it would mean no other substitute-path's from can be for the empty path. If that's the case, a potential mitigation would be to pick something more unique, like /Catch2. That would mean changing the -ffile-prefix-map destination to /Catch2 as well.

Guida contributor