When called from an interrupt, the memory range between the stack start and the %rsp register doesn't cover all of the local variables used by the function being interrupted.
I think this can be solved by:
Passing the equivalent of -fno-omit-frame-pointer to LLVM (or at least doing something that forces LLVM to store local variables in an address higher than %rbp but lower than %rsp)
Having LLVM generate stack maps and scanning the map
Having LLVM generate precise stack information (basically last one but requires a lot of compiler patches)
When called from an interrupt, the memory range between the stack start and the %rsp register doesn't cover all of the local variables used by the function being interrupted.
I think this can be solved by:
-fno-omit-frame-pointer
to LLVM (or at least doing something that forces LLVM to store local variables in an address higher than %rbp but lower than %rsp)