Open
Description
void _start(void)
{
asm volatile (".cantunwind");
}
❯ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Ubuntu 13.2.0-4ubuntu3) 13.2.0
❯ arm-linux-gnueabihf-gcc test.c -nostdlib -fasynchronous-unwind-tables
❯ clang --version
clang version 19.1.2 (git@github.com:llvm/llvm-project.git d5498c39fe6a17e271ad5a02917103445eb89373)
❯ clang --target=arm-linux-gnueabihf test.c -nostdlib -fasynchronous-unwind-tables
test.c:3:19: error: .fnstart must precede .cantunwind directive
3 | asm volatile (".cantunwind");
| ^
<inline asm>:1:2: note: instantiated into assembly here
1 | .cantunwind
| ^
1 error generated.
I would guess that .fnstart
/.fnend
is lacking similar handling to .cfi_startproc
/.cfi_endproc
in the integrated assembler?