catchorg/Catch2

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

开放

#3,042 创建于 2025年10月19日

 (2 条评论) (0 个反应) (0 位负责人)C++ (3,228 个派生)batch import
ExtrasHelp wanted

仓库指标

星标
 (20,381 个星标)
PR 合并指标
 (平均合并 1天 8小时) (30 天内合并 1 个 PR)

描述

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.

贡献者指南