Hello everyone, Gdb complains saying "Watchpoint deleted because the program has left the block in which its expression is valid", even though the local variable is still in scope for RISC-V architecture. Test Code: Compiler Explorer (godbolt.org) Code compiled with clang(trunk): * clang -g -static -c program.c * riscv64-unknown-elf-gcc program.o -o program -march=rv64imac -mabi=lp64 Gdb(12.1): * riscv64-unknown-elf-gdb program * break main * set can-use-hw-watchpoints 0 * watch q * continue * Watchpoint 2 deleted because the program has left the block in * which its expression is valid. * 0x00000000000101e0 in func () at watch_cond.c:2 Even though the variable q is still in scope in main, gdb prints this message immediately after func() returns. I'm trying to debug gdb on update_watchpoint function where this message is originating from. Any suggestions on why gdb is behaving so. regards Varun