rust/compiler
bors e2a3c9b3f0 Auto merge of #117962 - weihanglo:debug-name-table, r=wesleywiser
fix: stop emitting `.debug_pubnames` and `.debug_pubtypes`

A continuation of #94181.
Fixes #48762
MCP can be found in <https://github.com/rust-lang/compiler-team/issues/688>.

`.debug_pubnames` and `.debug_pubtypes` are poorly designed and people
seldom use them. However, they take a considerable portion of size in
the final binary. This tells LLVM stop emitting those sections on
DWARFv4 or lower. DWARFv5 use `.debug_names` which is more concise
in size and performant for name lookup.

Some other no-really-useful personal notes:

<details><summary>Details</summary>
<p>

## Pepole saying they are not useful

* https://github.com/rust-lang/rust/issues/48762
* https://rust-lang.zulipchat.com/#narrow/stream/317568-t-compiler.2Fwg-debugging/topic/investigating.20debuginfo.20size/near/342713604
* `DwarfCompileUnit::hasDwarfPubSections()` — f633f325a1/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (L1477-L1494)
* clang default to no debug name table when no option provided — f633f325a1/clang/lib/Frontend/CompilerInvocation.cpp (L1819-L1824)
* GCC explicitly says GDB doesn't use pub sections (`TARGET_WANT_DEBUG_PUB_SECTIONS` only be true on Darwin) — 5d2a360f0a/gcc/target.def (L6985-L6990) and 319b460545/gold/dwarf_reader.h (L424-L427)
* Probably the only place that makes use of pub section in lldb — 725115d7bb/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (L2117-L2135)

* "The -gsplit-dwarf option requires -ggnu-pubnames." — 5d2a360f0a/gcc/opts.cc (L1205)

* LLVM: Always emit `.debug_names` with dwarf 5 for Apple platforms — https://reviews.llvm.org/D118754

</p>
</details>
2023-12-11 22:32:08 +00:00
..
rustc Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_abi Rename LayoutCalculator::delay_bug as LayoutCalculator::delayed_bug. 2023-12-02 09:01:34 +11:00
rustc_arena rustc_arena: add alloc_str 2023-12-05 17:52:51 -08:00
rustc_ast Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_ast_lowering Auto merge of #116952 - compiler-errors:lifetime_capture_rules_2024, r=TaKO8Ki 2023-12-10 15:51:39 +00:00
rustc_ast_passes remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_ast_pretty Rollup merge of #118726 - dtolnay:matchguardlet, r=compiler-errors 2023-12-11 20:46:49 +01:00
rustc_attr Use Session::diagnostic in more places. 2023-12-02 09:01:35 +11:00
rustc_baked_icu_data Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_borrowck remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_builtin_macros Auto merge of #114571 - nnethercote:improve-print_tts, r=petrochenkov 2023-12-11 00:03:56 +00:00
rustc_codegen_cranelift Auto merge of #117758 - Urgau:lint_pointer_trait_comparisons, r=davidtwco 2023-12-11 14:33:16 +00:00
rustc_codegen_gcc Fix rustc codegen gcc tests 2023-12-11 18:48:49 +01:00
rustc_codegen_llvm refactor: only check dwarf version when emitting dwarf 2023-12-11 16:24:24 -05:00
rustc_codegen_ssa Auto merge of #118344 - saethlin:rmeta-header-pos, r=WaffleLapkin 2023-12-11 17:21:14 +00:00
rustc_const_eval Auto merge of #118661 - fee1-dead-contrib:restore-const-partialEq, r=compiler-errors 2023-12-11 10:34:51 +00:00
rustc_data_structures remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_driver Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_driver_impl Extract exhaustiveness into its own crate 2023-12-11 11:20:55 +01:00
rustc_error_codes Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rustc_error_messages Remove rustc_error_messages/messages.ftl. 2023-11-26 08:37:27 +11:00
rustc_errors remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_expand Rollup merge of #118802 - ehuss:remove-edition-preview, r=TaKO8Ki 2023-12-11 11:40:36 +01:00
rustc_feature Remove edition umbrella features. 2023-12-10 13:03:28 -08:00
rustc_fluent_macro Add a useful comment. 2023-11-26 08:38:02 +11:00
rustc_fs_util Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_graphviz remove unused pub fn 2023-11-23 14:11:02 +03:00
rustc_hir Auto merge of #118420 - compiler-errors:async-gen, r=eholk 2023-12-08 19:13:57 +00:00
rustc_hir_analysis remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_hir_pretty remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_hir_typeck Auto merge of #118692 - surechen:remove_unused_imports, r=petrochenkov 2023-12-10 11:55:48 +00:00
rustc_incremental remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_index Replace no_ord_impl with orderable. 2023-11-22 18:38:17 +11:00
rustc_index_macros Put backticks around some attributes in doc comments. 2023-11-27 09:37:01 +11:00
rustc_infer Auto merge of #118661 - fee1-dead-contrib:restore-const-partialEq, r=compiler-errors 2023-12-11 10:34:51 +00:00
rustc_interface remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_lexer Tweak Mode. 2023-12-09 09:30:32 +11:00
rustc_lint Auto merge of #117758 - Urgau:lint_pointer_trait_comparisons, r=davidtwco 2023-12-11 14:33:16 +00:00
rustc_lint_defs Auto merge of #118324 - RalfJung:ctfe-read-only-pointers, r=saethlin 2023-12-07 18:11:01 +00:00
rustc_llvm Auto merge of #117962 - weihanglo:debug-name-table, r=wesleywiser 2023-12-11 22:32:08 +00:00
rustc_log rustc_log: provide a way to init logging based on the values, not names, of the env vars 2023-11-11 15:24:33 +01:00
rustc_macros remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_metadata Auto merge of #118344 - saethlin:rmeta-header-pos, r=WaffleLapkin 2023-12-11 17:21:14 +00:00
rustc_middle Auto merge of #118661 - fee1-dead-contrib:restore-const-partialEq, r=compiler-errors 2023-12-11 10:34:51 +00:00
rustc_mir_build Rollup merge of #118822 - Nadrieril:librarify, r=compiler-errors 2023-12-11 20:46:50 +01:00
rustc_mir_dataflow remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_mir_transform remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_monomorphize Rollup merge of #118693 - saethlin:alignment-check-symbol-reachable, r=bjorn3 2023-12-08 06:44:42 +01:00
rustc_next_trait_solver Make it not depend on nightly conditionally 2023-12-08 17:44:01 +00:00
rustc_parse Add spacing information to delimiters. 2023-12-11 09:36:40 +11:00
rustc_parse_format Auto merge of #117819 - fmease:rustc_parse_format-stable-rustc, r=Nilstrieb 2023-11-15 14:55:35 +00:00
rustc_passes Remove #[rustc_host], use internal desugaring 2023-12-05 01:15:21 +00:00
rustc_pattern_analysis Fix doc links 2023-12-11 12:53:01 +01:00
rustc_privacy privacy: visit trait def id of projections 2023-12-08 14:26:03 +00:00
rustc_query_impl QueryContext: rename try_collect_active_jobs -> collect_active_jobs and change it's return type from Option<QueryMap> to QueryMap 2023-11-27 18:13:15 +03:00
rustc_query_system remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_resolve Rollup merge of #118620 - petrochenkov:defeed2, r=compiler-errors 2023-12-11 20:46:48 +01:00
rustc_serialize Call FileEncoder::finish in rmeta encoding 2023-11-22 22:49:22 -05:00
rustc_session Auto merge of #118494 - nnethercote:default_configuration-fill_well_known, r=Mark-Simulacrum 2023-12-11 06:10:44 +00:00
rustc_smir remove redundant imports 2023-12-10 10:56:22 +08:00
rustc_span Auto merge of #117758 - Urgau:lint_pointer_trait_comparisons, r=davidtwco 2023-12-11 14:33:16 +00:00
rustc_symbol_mangling Revert "Don't print host effect param in pretty path_generic_args" 2023-12-10 10:17:28 +00:00
rustc_target Auto merge of #118150 - roblabla:new-win7-targets, r=davidtwco 2023-12-09 08:41:50 +00:00
rustc_trait_selection Auto merge of #118661 - fee1-dead-contrib:restore-const-partialEq, r=compiler-errors 2023-12-11 10:34:51 +00:00
rustc_traits add unused NormalizesTo predicate 2023-12-07 17:52:51 +01:00
rustc_transmute Update itertools to 0.11. 2023-11-22 08:13:21 +11:00
rustc_ty_utils Auto merge of #117116 - calebzulawski:repr-simd-packed, r=workingjubilee 2023-12-11 08:07:20 +00:00
rustc_type_ir Feedback 2023-12-08 17:44:01 +00:00
stable_mir remove redundant imports 2023-12-10 10:56:22 +08:00