about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-18 14:49:41 +0100
committerGitHub <noreply@github.com>2021-12-18 14:49:41 +0100
commit53a95ea289941ffeacb95f2ca7a7a7f1a9aae679 (patch)
tree2c4d1c93454175aed5fce56d8e364752ede6e74f /compiler/rustc_codegen_gcc
parentca3d129ee38fc73085f7ad5b525e5245f7ad59f1 (diff)
parentc41fd760dbab005e8f4038ec67eba17ab60e6a98 (diff)
downloadrust-53a95ea289941ffeacb95f2ca7a7a7f1a9aae679.tar.gz
rust-53a95ea289941ffeacb95f2ca7a7a7f1a9aae679.zip
Rollup merge of #92024 - pcwalton:per-codegen-unit-names, r=davidtwco
rustc_codegen_llvm: Give each codegen unit a unique DWARF name on all platforms, not just Apple ones.

To avoid breaking split DWARF, we need to ensure that each codegen unit has a
unique `DW_AT_name`. This is because there's a remote chance that different
codegen units for the same module will have entirely identical DWARF entries
for the purpose of the DWO ID, which would violate Appendix F ("Split Dwarf
Object Files") of the DWARF 5 specification. LLVM uses the algorithm specified
in section 7.32 "Type Signature Computation" to compute the DWO ID, which does
not include any fields that would distinguish compilation units. So we must
embed the codegen unit name into the `DW_AT_name`.

Closes #88521.
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions