summaryrefslogtreecommitdiff
path: root/gdb/i386-darwin-nat.c
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2013-10-03 09:46:36 +0000
committerTristan Gingold <gingold@adacore.com>2013-10-03 09:46:36 +0000
commitb1328b1b180e48b698f48cbe42f1d22d75904935 (patch)
tree4dbc138723a62ae1174c885169598f3c881ffb31 /gdb/i386-darwin-nat.c
parentf8fedb8d7b16ac3c6384b65a5cd11d1f03d381b1 (diff)
downloadbinutils-gdb-b1328b1b180e48b698f48cbe42f1d22d75904935.tar.gz
2013-10-03 Tristan Gingold <gingold@adacore.com>
* i386-darwin-nat.c (i386_darwin_dr_set): Fix argument type. Remove verbose error reporting. Use detected state to thread_set_state call. (i386_darwin_dr_get): Fix return type. Remove verbose error report. Remove trailing spaces.
Diffstat (limited to 'gdb/i386-darwin-nat.c')
-rw-r--r--gdb/i386-darwin-nat.c40
1 files changed, 10 insertions, 30 deletions
diff --git a/gdb/i386-darwin-nat.c b/gdb/i386-darwin-nat.c
index 66ea943cc9b..742ceda2e84 100644
--- a/gdb/i386-darwin-nat.c
+++ b/gdb/i386-darwin-nat.c
@@ -263,7 +263,7 @@ i386_darwin_store_inferior_registers (struct target_ops *ops,
/* Support for debug registers, boosted mostly from i386-linux-nat.c. */
static void
-i386_darwin_dr_set (int regnum, uint32_t value)
+i386_darwin_dr_set (int regnum, CORE_ADDR value)
{
int current_pid;
thread_t current_thread;
@@ -280,14 +280,7 @@ i386_darwin_dr_set (int regnum, uint32_t value)
dr_count = x86_DEBUG_STATE_COUNT;
ret = thread_get_state (current_thread, x86_DEBUG_STATE,
(thread_state_t) &dr_regs, &dr_count);
-
- if (ret != KERN_SUCCESS)
- {
- printf_unfiltered (_("Error reading debug registers "
- "thread 0x%x via thread_get_state\n"),
- (int) current_thread);
- MACH_CHECK_ERROR (ret);
- }
+ MACH_CHECK_ERROR (ret);
switch (dr_regs.dsh.flavor)
{
@@ -353,19 +346,13 @@ i386_darwin_dr_set (int regnum, uint32_t value)
#endif
}
- ret = thread_set_state (current_thread, x86_DEBUG_STATE,
- (thread_state_t) &dr_regs, dr_count);
+ ret = thread_set_state (current_thread, dr_regs.dsh.flavor,
+ (thread_state_t) &dr_regs.uds, dr_count);
- if (ret != KERN_SUCCESS)
- {
- printf_unfiltered (_("Error writing debug registers "
- "thread 0x%x via thread_get_state\n"),
- (int) current_thread);
- MACH_CHECK_ERROR (ret);
- }
+ MACH_CHECK_ERROR (ret);
}
-static uint32_t
+static CORE_ADDR
i386_darwin_dr_get (int regnum)
{
thread_t current_thread;
@@ -382,14 +369,7 @@ i386_darwin_dr_get (int regnum)
dr_count = x86_DEBUG_STATE_COUNT;
ret = thread_get_state (current_thread, x86_DEBUG_STATE,
(thread_state_t) &dr_regs, &dr_count);
-
- if (ret != KERN_SUCCESS)
- {
- printf_unfiltered (_("Error reading debug registers "
- "thread 0x%x via thread_get_state\n"),
- (int) current_thread);
- MACH_CHECK_ERROR (ret);
- }
+ MACH_CHECK_ERROR (ret);
switch (dr_regs.dsh.flavor)
{
@@ -605,14 +585,14 @@ darwin_set_sstep (thread_t thread, int enable)
case x86_THREAD_STATE32:
{
__uint32_t bit = enable ? X86_EFLAGS_T : 0;
-
+
if (enable && i386_darwin_sstep_at_sigreturn (&regs))
return;
if ((regs.uts.ts32.__eflags & X86_EFLAGS_T) == bit)
return;
regs.uts.ts32.__eflags
= (regs.uts.ts32.__eflags & ~X86_EFLAGS_T) | bit;
- kret = thread_set_state (thread, x86_THREAD_STATE,
+ kret = thread_set_state (thread, x86_THREAD_STATE,
(thread_state_t) &regs, count);
MACH_CHECK_ERROR (kret);
}
@@ -628,7 +608,7 @@ darwin_set_sstep (thread_t thread, int enable)
return;
regs.uts.ts64.__rflags
= (regs.uts.ts64.__rflags & ~X86_EFLAGS_T) | bit;
- kret = thread_set_state (thread, x86_THREAD_STATE,
+ kret = thread_set_state (thread, x86_THREAD_STATE,
(thread_state_t) &regs, count);
MACH_CHECK_ERROR (kret);
}