rust/tests/assembly/dwarf4.rs
Weihang Lo 1667f3d2cc
fix: stop emitting .debug_pubnames and .debug_pubtypes
`.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.
2023-12-11 14:58:02 -05:00

25 lines
572 B
Rust

// Makes sure that `-Z dwarf-version=4` causes `rustc` to emit DWARF version 4.
// assembly-output: emit-asm
// compile-flags: -g --target x86_64-unknown-linux-gnu -Z dwarf-version=4 -Copt-level=0
// needs-llvm-components: x86
#![feature(no_core, lang_items)]
#![crate_type = "rlib"]
#![no_core]
#[lang = "sized"]
trait Sized {}
#[lang = "copy"]
trait Copy {}
pub fn wibble() {}
pub struct X;
// CHECK: .section .debug_info
// CHECK-NOT: .short 2
// CHECK-NOT: .short 5
// CHECK: .short 4
// CHECK-NOT: .section .debug_pubnames
// CHECK-NOT: .section .debug_pubtypes