<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/68531>68531</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Use of sections triggers "LLVM ERROR: sleb128 and uleb128 expressions must be absolute"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
TDecking
</td>
</tr>
</table>
<pre>
The following Rust program, when compiled on release mode, triggers the titular assertion.
It compiles and runs as expected when using the debug flavor.
```rust
use std::arch::asm;
fn main() {
let mut x = std::io::stdout();
println!("Hello, World");
std::io::Write::flush(&mut x).unwrap();
let mut x = std::io::stderr();
eprintln!("Goodbye, World");
std::io::Write::flush(&mut x).unwrap();
rust_function_with_inline_assembly();
}
#[no_mangle]
pub fn rust_function_with_inline_assembly() {
unsafe {
asm!(
r#"
jmp 9999f
.section .rodata
.section .text
9999:
"#,
options(nostack),
);
}
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VMGO2zYQ_RrqMoggkZZtHXTYjeu2QIoCi7Q5GpQ4kphQpMAh492_Lygr3tq-tIcIhjXgm_f4OByNJNKDRWxY9cyqQyZjGJ1vPh-w-6btkLVOvTWfR4TeGePO2g7wEinA7N3g5cT4RziPaKFz06wNKnAWPBqUhDA5hSkheD0M6AnCiBB0iEZ6kETog3Y2Z8WBFU-_hx8aBNIq8NESSAJ8nbELqC7bREoOko7CNg7QG_nd-VVi_d8Wl5-PFC5LkRAoKCaemHiSvhvXiCYmnv_N7S1MUlvG94zXwHYrCABgMMAUA7wCE4d3Ne0ubwrKxXAhXkVh9toGYxkvF4T_hsa4VJIvzhvFOL_JBnjU_eJ1wEvYm0jjorNdjDBe59GevZzvtwWA_2Mcvb9XwHvnvzqn2jf86d5XuXR3pz7aLnXI6azDeNLWaIun1DdTa97uebvDTRNwwapn606TtINBVq3oHFvo7X-Wv22BaEn2eLuWntRHlzqt5tPunN8mpefrNENd13X_COWEixnIvVMyyDXjfTnga3ikJbVU4QdguR_B-McVcnOSIcb31lGQ3bdUvCt6Jd010bWo1-DHx5WpRqha1DLDptzW292-KLdlNjai5V1RKNyg6Lu63omqE52oeC9EUUheZLrhBRdlUezLalPzMt9tuOg7JUrF61Iisk2Bk9QmN-b7lDs_ZJooYrPdV6LMjGzR0DKuOLd4hgVMx60OmW8S50MbB2KbwmgK9K4SdDDY_EUIroe1rvQ-nBjnnz79_Qf88vLy5wsTT0AG25Lvl2kU1xhfZ49EC3NKc7BFkC05E0PykEVvmjGEmdKl8CPjx0GHMbZ55ybGj8nL-vowe_cVu8D4cTkBMX5cTvhPAAAA__-HP5xf">