Absolute call when calling PanicInfo's functions on static,no_std,PIE binaries

Hello! I am compiling a static PIE code with no_std and everything works perfectly until the program panics and I need to use

extern crate alloc;
use alloc::format;
fn panic(panic_info: &core::panic::PanicInfo) -> ! {
    let s = format!("{:?}", panic_info.payload());

For some reason the compiler compiles here adds an absolute call in the panic function that cause everything to crash... Here is the disassembly:

It seems like there is a GOT involved in the static binary for some reason… I don’t understand why…

Sorry, I don't know.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.