public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug tdep/31486] [gdb/tdep, aarch64] Hang when hitting access watchpoint on M1 Date: Tue, 19 Mar 2024 09:04:52 +0000 [thread overview] Message-ID: <bug-31486-4717-5lGUefElb7@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-31486-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=31486 --- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> --- There's a similar issue with lldb (version 17.0.6), with less serious failure mode though. When setting a write watchpoint on data.u.size8twice[1], execution stops for reason "trace": ... $ lldb outputs/gdb.base/watchpoint-unaligned/watchpoint-unaligned (lldb) target create "outputs/gdb.base/watchpoint-unaligned/watchpoint-unaligned" Current executable set to '/home/vries/gdb/outputs/gdb.base/watchpoint-unaligned/watchpoint-unaligned' (aarch64). (lldb) b main Breakpoint 1: where = watchpoint-unaligned`main + 8 at watchpoint-unaligned.c:65:3, address = 0x0000000000410208 (lldb) r Process 1075081 launched: '/home/vries/gdb/outputs/gdb.base/watchpoint-unaligned/watchpoint-unaligned' (aarch64) Process 1075081 stopped * thread #1, name = 'watchpoint-unal', stop reason = breakpoint 1.1 frame #0: 0x0000000000410208 watchpoint-unaligned`main at watchpoint-unaligned.c:65:3 62 63 assert (sizeof (data) == 8 + 3 * 8); 64 -> 65 write_size8twice (); 66 67 while (size) 68 { (lldb) watch set var -w write data.u.size8twice[1] Watchpoint created: Watchpoint 1: addr = 0x00440048 size = 8 state = enabled type = w declare @ '/home/vries/gdb/src/gdb/testsuite/gdb.base/watchpoint-unaligned.c:35:3' watchpoint spec = 'data.u.size8twice[1]' new value: 0 (lldb) c Process 1075081 resuming Process 1075081 stopped * thread #1, name = 'watchpoint-unal', stop reason = trace frame #0: 0x00000000004101f0 watchpoint-unaligned`write_size8twice at watchpoint-unaligned.c:48:3 45 46 #ifdef __aarch64__ 47 volatile void *p = &data.u.size8twice[offset]; -> 48 asm volatile ("stp %1, %2, [%0]" 49 : /* output */ 50 : "r" (p), "r" (first), "r" (second) /* input */ 51 : "memory" /* clobber */); ... In contrast, when setting a write watchpoint on data.u.size8twice[0], execution stops for reason "watchpoint": ... (lldb) c Process 1075169 resuming Watchpoint 1 hit: old value: 0 new value: 1 Process 1075169 stopped * thread #1, name = 'watchpoint-unal', stop reason = watchpoint 1 frame #0: 0x00000000004101f4 watchpoint-unaligned`write_size8twice at watchpoint-unaligned.c:56:1 53 data.u.size8twice[offset] = first; 54 data.u.size8twice[offset + 1] = second; 55 #endif -> 56 } 57 58 int 59 main (void) (lldb) ... This is using a write watchpoint, but it's the same for a regular watchpoint. Note that gdb handles a regualar watchpoint by reporting a watchpoint stop in both (data.u.size8twice[0] and data.u.size8twice[1]) cases. -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2024-03-19 9:04 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-14 12:39 [Bug tdep/31486] New: " vries at gcc dot gnu.org 2024-03-14 12:39 ` [Bug tdep/31486] " vries at gcc dot gnu.org 2024-03-19 9:04 ` vries at gcc dot gnu.org [this message] 2024-03-19 12:42 ` vries at gcc dot gnu.org 2024-03-20 9:50 ` luis.machado at arm dot com 2024-03-22 16:26 ` vries at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-31486-4717-5lGUefElb7@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).