| To: | Earl Chew <echew@ixiacom.com> |
|---|---|
| Subject: | Re: Filling in struct mips64_watch_regs from a 32 bit process |
| From: | David Daney <ddaney@caviumnetworks.com> |
| Date: | Mon, 31 Jan 2011 17:24:49 -0800 |
| Cc: | "linux-mips@linux-mips.org" <linux-mips@linux-mips.org> |
| In-reply-to: | <4D475DFC.1040401@ixiacom.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <4D4756B5.4010100@ixiacom.com> <4D475BCB.9050403@caviumnetworks.com> <4D475DFC.1040401@ixiacom.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 |
On 01/31/2011 05:12 PM, Earl Chew wrote: I notice that a 32 bit process running on a 64 bit kernel is expected to know that it should fill in mips64_watch_regs --- even though it is running against a 32 bit ABI. Is this an oversight, or am I missing something ?It is intentional.Oh I see ... I have to call PTRACE_SET_WATCH_REGS first in order to figure out whether the kernel is expecting me to use pt_watch_style_mips32 or pt_watch_style_mips64. That would be PTRACE_GET_WATCH_REGS. It will tell you the width of the registers as well as how many are available (in the num_valid field) and the properties of each (in the watch_masks[] fields). Fill in watchlo[] and watchhi[], write them back with PTRACE_SET_WATCH_REGS, then sit back and wait for SIGTRAP. David Daney |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Filling in struct mips64_watch_regs from a 32 bit process, Earl Chew |
|---|---|
| Next by Date: | Re: Filling in struct mips64_watch_regs from a 32 bit process, Earl Chew |
| Previous by Thread: | Re: Filling in struct mips64_watch_regs from a 32 bit process, Earl Chew |
| Next by Thread: | Re: Filling in struct mips64_watch_regs from a 32 bit process, Earl Chew |
| Indexes: | [Date] [Thread] [Top] [All Lists] |