Revert "Preserve the .debug_gdb_scripts section"
This reverts commit 868bdde25b.
This commit is contained in:
@@ -30,7 +30,7 @@ use tracing::debug;
|
||||
|
||||
use self::metadata::{UNKNOWN_COLUMN_NUMBER, UNKNOWN_LINE_NUMBER, file_metadata, type_di_node};
|
||||
use self::namespace::mangled_name_of_instance;
|
||||
use self::utils::{DIB, create_DIArray, debug_context, is_node_local_to_unit};
|
||||
use self::utils::{DIB, create_DIArray, is_node_local_to_unit};
|
||||
use crate::builder::Builder;
|
||||
use crate::common::{AsCCharPtr, CodegenCx};
|
||||
use crate::llvm;
|
||||
@@ -131,28 +131,20 @@ impl<'ll, 'tcx> CodegenUnitDebugContext<'ll, 'tcx> {
|
||||
}
|
||||
|
||||
/// Creates any deferred debug metadata nodes
|
||||
pub(crate) fn finalize(cx: &mut CodegenCx<'_, '_>) {
|
||||
if cx.dbg_cx.is_none() {
|
||||
return;
|
||||
pub(crate) fn finalize(cx: &CodegenCx<'_, '_>) {
|
||||
if let Some(dbg_cx) = &cx.dbg_cx {
|
||||
debug!("finalize");
|
||||
|
||||
if gdb::needs_gdb_debug_scripts_section(cx) {
|
||||
// Add a .debug_gdb_scripts section to this compile-unit. This will
|
||||
// cause GDB to try and load the gdb_load_rust_pretty_printers.py file,
|
||||
// which activates the Rust pretty printers for binary this section is
|
||||
// contained in.
|
||||
gdb::get_or_insert_gdb_debug_scripts_section_global(cx);
|
||||
}
|
||||
|
||||
dbg_cx.finalize(cx.sess());
|
||||
}
|
||||
|
||||
debug!("finalize");
|
||||
|
||||
if gdb::needs_gdb_debug_scripts_section(cx) {
|
||||
// Add a .debug_gdb_scripts section to this compile-unit. This will
|
||||
// cause GDB to try and load the gdb_load_rust_pretty_printers.py file,
|
||||
// which activates the Rust pretty printers for binary this section is
|
||||
// contained in.
|
||||
let section_var = gdb::get_or_insert_gdb_debug_scripts_section_global(cx);
|
||||
|
||||
// Make sure that the linker doesn't optimize the global away. Adding
|
||||
// it to `llvm.used` has the advantage that it works even in no_std
|
||||
// binaries, where we don't have a main shim and thus don't emit a
|
||||
// volatile load to preserve the global.
|
||||
cx.add_used_global(section_var);
|
||||
}
|
||||
|
||||
debug_context(cx).finalize(cx.sess());
|
||||
}
|
||||
|
||||
impl<'ll> Builder<'_, 'll, '_> {
|
||||
@@ -622,7 +614,7 @@ impl<'ll, 'tcx> DebugInfoCodegenMethods<'tcx> for CodegenCx<'ll, 'tcx> {
|
||||
metadata::extend_scope_to_file(self, scope_metadata, file)
|
||||
}
|
||||
|
||||
fn debuginfo_finalize(&mut self) {
|
||||
fn debuginfo_finalize(&self) {
|
||||
finalize(self)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user