summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-openstackclient
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2024-02-01 22:51:41 +0000
committerSergei Trofimovich <slyich@gmail.com>2024-02-02 20:59:41 +0000
commitbe41f86a80f9d6e5910ce153057560cb672a2b83 (patch)
tree6d73832de5b51db40a426e27cf1af719d2272db4 /pkgs/development/python-modules/python-openstackclient
parent9312d7840b1ad1cd3e0bb49f7ae38be69b505659 (diff)
gcc: amend __FILE__ mangling patch to only affect `-fmacro-prefix-map=`
THe initial intent of the change was to only affect `-fmacro-prefix-map=` option. Due to the bug of `if (maps == macro_prefix_maps)` condition of initial setting all three of: static file_prefix_map *macro_prefix_maps; /* -fmacro-prefix-map */ static file_prefix_map *debug_prefix_maps; /* -fdebug-prefix-map */ static file_prefix_map *profile_prefix_maps; /* -fprofile-prefix-map */ matches the comparison and applied the mangling (as long as on options were passed into those before). As a result not only (intended) `__FILE__` embedding happened in `.data` section, but also (unintended) debugging symbols (`-fdebug-prefix-map`) and profiling data (`-fprofile-prefix-map`) were broken by mangling. The patch update fixes it by explicitly passing a boolean that controls the mangling in a single call site relevant to `-fmacro-prefix-map`. While at it fixed `int / size_t` mismatch that caused build failure on upcoming `gcc-14`. Tested as: - `nix` still has no `nlohmann_json` retention - `gdb` can now resolve `stdc++` debugging symbols in templates - `--coverage` has working source file paths
Diffstat (limited to 'pkgs/development/python-modules/python-openstackclient')
0 files changed, 0 insertions, 0 deletions