about summary refs log tree commit diff
path: root/tests/codegen/gdb_debug_script_load.rs
diff options
context:
space:
mode:
authorBoxy <rust@boxyuwu.dev>2025-01-28 11:57:19 +0000
committerBoxy <rust@boxyuwu.dev>2025-01-28 11:57:19 +0000
commit815c5d4eee36e836c7b75aa9288a58c4e8e7830b (patch)
treed4e7e89bcb0f3fd8e1ad2004c2c4a3dab933aaed /tests/codegen/gdb_debug_script_load.rs
parent62102ee041d0681e507e16c6d17ff5798b3a9d9f (diff)
parent66d6064f9eb888018775e08f84747ee6f39ba28e (diff)
downloadrust-815c5d4eee36e836c7b75aa9288a58c4e8e7830b.tar.gz
rust-815c5d4eee36e836c7b75aa9288a58c4e8e7830b.zip
Merge from rustc
Diffstat (limited to 'tests/codegen/gdb_debug_script_load.rs')
-rw-r--r--tests/codegen/gdb_debug_script_load.rs28
1 files changed, 24 insertions, 4 deletions
diff --git a/tests/codegen/gdb_debug_script_load.rs b/tests/codegen/gdb_debug_script_load.rs
index 30d518c0bcb..3e92eba10b1 100644
--- a/tests/codegen/gdb_debug_script_load.rs
+++ b/tests/codegen/gdb_debug_script_load.rs
@@ -4,14 +4,34 @@
 //@ ignore-wasm
 //@ ignore-emscripten
 
-//@ compile-flags: -g -C no-prepopulate-passes
+//@ compile-flags: -g -C no-prepopulate-passes -Cpanic=abort
 
-#![feature(start)]
+#![feature(lang_items)]
+#![no_std]
 
+#[panic_handler]
+fn panic_handler(_: &core::panic::PanicInfo) -> ! {
+    loop {}
+}
+
+#[no_mangle]
+extern "C" fn rust_eh_personality() {
+    loop {}
+}
+
+// Needs rustc to generate `main` as that's where the magic load is inserted.
+// IOW, we cannot write this test with `#![no_main]`.
 // CHECK-LABEL: @main
 // CHECK: load volatile i8, {{.+}} @__rustc_debug_gdb_scripts_section__
 
-#[start]
-fn start(_: isize, _: *const *const u8) -> isize {
+#[lang = "start"]
+fn lang_start<T: 'static>(
+    _main: fn() -> T,
+    _argc: isize,
+    _argv: *const *const u8,
+    _sigpipe: u8,
+) -> isize {
     return 0;
 }
+
+fn main() {}