add substitute-path to gdbinit for prefix-map (reproducible build), and pick a unique prefix
#3,042 opened on Oct 19, 2025
Repository metrics
- Stars
- (20,381 stars)
- PR merge metrics
- (Avg merge 4d 16h) (2 merged PRs in 30d)
Description
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.