mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
Reduce use of unfiltered output in Darwin code
The Darwin code uses unfiltered output liberally. This patch changes this code to send some output to gdb_stdlog (in some cases via the use of debug_prefixed_printf_cond_nofunc), or to gdb_stderr, or to simply switch to filtered output. Note that I didn't switch inferior_debug to use debug_prefixed_printf_cond_nofunc, because that would affect the output by removing the information about the inferior. I wasn't sure if this was important or not, so I left it in. v2 of this patch uses warning rather than prints to gdb_stderr, and removes some trailing whitespace. I can't compile this patch, so it's "best effort".
This commit is contained in:
@ -54,10 +54,10 @@
|
|||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define PRINT_FIELD(structure, field) \
|
#define PRINT_FIELD(structure, field) \
|
||||||
printf_unfiltered(_(#field":\t%#lx\n"), (unsigned long) (structure)->field)
|
printf_filtered(_(#field":\t%#lx\n"), (unsigned long) (structure)->field)
|
||||||
|
|
||||||
#define PRINT_TV_FIELD(structure, field) \
|
#define PRINT_TV_FIELD(structure, field) \
|
||||||
printf_unfiltered(_(#field":\t%u.%06u sec\n"), \
|
printf_filtered(_(#field":\t%u.%06u sec\n"), \
|
||||||
(unsigned) (structure)->field.seconds, \
|
(unsigned) (structure)->field.seconds, \
|
||||||
(unsigned) (structure)->field.microseconds)
|
(unsigned) (structure)->field.microseconds)
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ info_mach_tasks_command (const char *args, int from_tty)
|
|||||||
sysctl (sysControl, 3, procInfo, &length, NULL, 0);
|
sysctl (sysControl, 3, procInfo, &length, NULL, 0);
|
||||||
|
|
||||||
count = (length / sizeof (struct kinfo_proc));
|
count = (length / sizeof (struct kinfo_proc));
|
||||||
printf_unfiltered (_("%d processes:\n"), count);
|
printf_filtered (_("%d processes:\n"), count);
|
||||||
for (index = 0; index < count; ++index)
|
for (index = 0; index < count; ++index)
|
||||||
{
|
{
|
||||||
kern_return_t result;
|
kern_return_t result;
|
||||||
@ -94,15 +94,15 @@ info_mach_tasks_command (const char *args, int from_tty)
|
|||||||
&taskPort);
|
&taskPort);
|
||||||
if (KERN_SUCCESS == result)
|
if (KERN_SUCCESS == result)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_(" %s is %d has task %#x\n"),
|
printf_filtered (_(" %s is %d has task %#x\n"),
|
||||||
procInfo[index].kp_proc.p_comm,
|
procInfo[index].kp_proc.p_comm,
|
||||||
procInfo[index].kp_proc.p_pid, taskPort);
|
procInfo[index].kp_proc.p_pid, taskPort);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf_unfiltered (_(" %s is %d unknown task port\n"),
|
printf_filtered (_(" %s is %d unknown task port\n"),
|
||||||
procInfo[index].kp_proc.p_comm,
|
procInfo[index].kp_proc.p_comm,
|
||||||
procInfo[index].kp_proc.p_pid);
|
procInfo[index].kp_proc.p_pid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ get_task_from_args (const char *args)
|
|||||||
if (args == NULL || *args == 0)
|
if (args == NULL || *args == 0)
|
||||||
{
|
{
|
||||||
if (inferior_ptid == null_ptid)
|
if (inferior_ptid == null_ptid)
|
||||||
printf_unfiltered (_("No inferior running\n"));
|
printf_filtered (_("No inferior running\n"));
|
||||||
|
|
||||||
darwin_inferior *priv = get_darwin_inferior (current_inferior ());
|
darwin_inferior *priv = get_darwin_inferior (current_inferior ());
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ get_task_from_args (const char *args)
|
|||||||
task = strtoul (args, &eptr, 0);
|
task = strtoul (args, &eptr, 0);
|
||||||
if (*eptr)
|
if (*eptr)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("cannot parse task id '%s'\n"), args);
|
printf_filtered (_("cannot parse task id '%s'\n"), args);
|
||||||
return TASK_NULL;
|
return TASK_NULL;
|
||||||
}
|
}
|
||||||
return task;
|
return task;
|
||||||
@ -153,7 +153,7 @@ info_mach_task_command (const char *args, int from_tty)
|
|||||||
if (task == TASK_NULL)
|
if (task == TASK_NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
printf_unfiltered (_("TASK_BASIC_INFO for 0x%x:\n"), task);
|
printf_filtered (_("TASK_BASIC_INFO for 0x%x:\n"), task);
|
||||||
info_count = TASK_BASIC_INFO_COUNT;
|
info_count = TASK_BASIC_INFO_COUNT;
|
||||||
result = task_info (task,
|
result = task_info (task,
|
||||||
TASK_BASIC_INFO,
|
TASK_BASIC_INFO,
|
||||||
@ -165,7 +165,7 @@ info_mach_task_command (const char *args, int from_tty)
|
|||||||
PRINT_FIELD (&task_info_data.basic, resident_size);
|
PRINT_FIELD (&task_info_data.basic, resident_size);
|
||||||
PRINT_TV_FIELD (&task_info_data.basic, user_time);
|
PRINT_TV_FIELD (&task_info_data.basic, user_time);
|
||||||
PRINT_TV_FIELD (&task_info_data.basic, system_time);
|
PRINT_TV_FIELD (&task_info_data.basic, system_time);
|
||||||
printf_unfiltered (_("\nTASK_EVENTS_INFO:\n"));
|
printf_filtered (_("\nTASK_EVENTS_INFO:\n"));
|
||||||
info_count = TASK_EVENTS_INFO_COUNT;
|
info_count = TASK_EVENTS_INFO_COUNT;
|
||||||
result = task_info (task,
|
result = task_info (task,
|
||||||
TASK_EVENTS_INFO,
|
TASK_EVENTS_INFO,
|
||||||
@ -181,7 +181,7 @@ info_mach_task_command (const char *args, int from_tty)
|
|||||||
PRINT_FIELD (&task_info_data.events, cow_faults);
|
PRINT_FIELD (&task_info_data.events, cow_faults);
|
||||||
PRINT_FIELD (&task_info_data.events, messages_sent);
|
PRINT_FIELD (&task_info_data.events, messages_sent);
|
||||||
PRINT_FIELD (&task_info_data.events, messages_received);
|
PRINT_FIELD (&task_info_data.events, messages_received);
|
||||||
printf_unfiltered (_("\nTASK_THREAD_TIMES_INFO:\n"));
|
printf_filtered (_("\nTASK_THREAD_TIMES_INFO:\n"));
|
||||||
info_count = TASK_THREAD_TIMES_INFO_COUNT;
|
info_count = TASK_THREAD_TIMES_INFO_COUNT;
|
||||||
result = task_info (task,
|
result = task_info (task,
|
||||||
TASK_THREAD_TIMES_INFO,
|
TASK_THREAD_TIMES_INFO,
|
||||||
@ -211,8 +211,8 @@ info_mach_ports_command (const char *args, int from_tty)
|
|||||||
|
|
||||||
gdb_assert (name_count == type_count);
|
gdb_assert (name_count == type_count);
|
||||||
|
|
||||||
printf_unfiltered (_("Ports for task 0x%x:\n"), task);
|
printf_filtered (_("Ports for task 0x%x:\n"), task);
|
||||||
printf_unfiltered (_("port type\n"));
|
printf_filtered (_("port type\n"));
|
||||||
for (index = 0; index < name_count; ++index)
|
for (index = 0; index < name_count; ++index)
|
||||||
{
|
{
|
||||||
mach_port_t port = names[index];
|
mach_port_t port = names[index];
|
||||||
@ -232,47 +232,47 @@ info_mach_ports_command (const char *args, int from_tty)
|
|||||||
{MACH_PORT_TYPE_DEAD_NAME, "dead", MACH_PORT_RIGHT_DEAD_NAME}
|
{MACH_PORT_TYPE_DEAD_NAME, "dead", MACH_PORT_RIGHT_DEAD_NAME}
|
||||||
};
|
};
|
||||||
|
|
||||||
printf_unfiltered (_("%04x: %08x "), port, types[index]);
|
printf_filtered (_("%04x: %08x "), port, types[index]);
|
||||||
for (j = 0; j < sizeof(descrs) / sizeof(*descrs); j++)
|
for (j = 0; j < sizeof(descrs) / sizeof(*descrs); j++)
|
||||||
if (types[index] & descrs[j].type)
|
if (types[index] & descrs[j].type)
|
||||||
{
|
{
|
||||||
mach_port_urefs_t ref;
|
mach_port_urefs_t ref;
|
||||||
kern_return_t ret;
|
kern_return_t ret;
|
||||||
|
|
||||||
printf_unfiltered (_(" %s("), descrs[j].name);
|
printf_filtered (_(" %s("), descrs[j].name);
|
||||||
ret = mach_port_get_refs (task, port, descrs[j].right, &ref);
|
ret = mach_port_get_refs (task, port, descrs[j].right, &ref);
|
||||||
if (ret != KERN_SUCCESS)
|
if (ret != KERN_SUCCESS)
|
||||||
printf_unfiltered (_("??"));
|
printf_filtered (_("??"));
|
||||||
else
|
else
|
||||||
printf_unfiltered (_("%u"), ref);
|
printf_filtered (_("%u"), ref);
|
||||||
printf_unfiltered (_(" refs)"));
|
printf_filtered (_(" refs)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (task == task_self ())
|
if (task == task_self ())
|
||||||
{
|
{
|
||||||
if (port == task_self())
|
if (port == task_self())
|
||||||
printf_unfiltered (_(" gdb-task"));
|
printf_filtered (_(" gdb-task"));
|
||||||
else if (port == darwin_host_self)
|
else if (port == darwin_host_self)
|
||||||
printf_unfiltered (_(" host-self"));
|
printf_filtered (_(" host-self"));
|
||||||
else if (port == darwin_ex_port)
|
else if (port == darwin_ex_port)
|
||||||
printf_unfiltered (_(" gdb-exception"));
|
printf_filtered (_(" gdb-exception"));
|
||||||
else if (port == darwin_port_set)
|
else if (port == darwin_port_set)
|
||||||
printf_unfiltered (_(" gdb-port_set"));
|
printf_filtered (_(" gdb-port_set"));
|
||||||
else if (inferior_ptid != null_ptid)
|
else if (inferior_ptid != null_ptid)
|
||||||
{
|
{
|
||||||
struct inferior *inf = current_inferior ();
|
struct inferior *inf = current_inferior ();
|
||||||
darwin_inferior *priv = get_darwin_inferior (inf);
|
darwin_inferior *priv = get_darwin_inferior (inf);
|
||||||
|
|
||||||
if (port == priv->task)
|
if (port == priv->task)
|
||||||
printf_unfiltered (_(" inferior-task"));
|
printf_filtered (_(" inferior-task"));
|
||||||
else if (port == priv->notify_port)
|
else if (port == priv->notify_port)
|
||||||
printf_unfiltered (_(" inferior-notify"));
|
printf_filtered (_(" inferior-notify"));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (int k = 0; k < priv->exception_info.count; k++)
|
for (int k = 0; k < priv->exception_info.count; k++)
|
||||||
if (port == priv->exception_info.ports[k])
|
if (port == priv->exception_info.ports[k])
|
||||||
{
|
{
|
||||||
printf_unfiltered (_(" inferior-excp-port"));
|
printf_filtered (_(" inferior-excp-port"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,8 +280,8 @@ info_mach_ports_command (const char *args, int from_tty)
|
|||||||
{
|
{
|
||||||
if (port == t->gdb_port)
|
if (port == t->gdb_port)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_(" inferior-thread for 0x%x"),
|
printf_filtered (_(" inferior-thread for 0x%x"),
|
||||||
priv->task);
|
priv->task);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -289,7 +289,7 @@ info_mach_ports_command (const char *args, int from_tty)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf_unfiltered (_("\n"));
|
printf_filtered (_("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
vm_deallocate (task_self (), (vm_address_t) names,
|
vm_deallocate (task_self (), (vm_address_t) names,
|
||||||
@ -310,18 +310,18 @@ darwin_debug_port_info (task_t task, mach_port_t port)
|
|||||||
(task, port, MACH_PORT_RECEIVE_STATUS, (mach_port_info_t)&status, &len);
|
(task, port, MACH_PORT_RECEIVE_STATUS, (mach_port_info_t)&status, &len);
|
||||||
MACH_CHECK_ERROR (kret);
|
MACH_CHECK_ERROR (kret);
|
||||||
|
|
||||||
printf_unfiltered (_("Port 0x%lx in task 0x%lx:\n"), (unsigned long) port,
|
printf_filtered (_("Port 0x%lx in task 0x%lx:\n"), (unsigned long) port,
|
||||||
(unsigned long) task);
|
(unsigned long) task);
|
||||||
printf_unfiltered (_(" port set: 0x%x\n"), status.mps_pset);
|
printf_filtered (_(" port set: 0x%x\n"), status.mps_pset);
|
||||||
printf_unfiltered (_(" seqno: 0x%x\n"), status.mps_seqno);
|
printf_filtered (_(" seqno: 0x%x\n"), status.mps_seqno);
|
||||||
printf_unfiltered (_(" mscount: 0x%x\n"), status.mps_mscount);
|
printf_filtered (_(" mscount: 0x%x\n"), status.mps_mscount);
|
||||||
printf_unfiltered (_(" qlimit: 0x%x\n"), status.mps_qlimit);
|
printf_filtered (_(" qlimit: 0x%x\n"), status.mps_qlimit);
|
||||||
printf_unfiltered (_(" msgcount: 0x%x\n"), status.mps_msgcount);
|
printf_filtered (_(" msgcount: 0x%x\n"), status.mps_msgcount);
|
||||||
printf_unfiltered (_(" sorights: 0x%x\n"), status.mps_sorights);
|
printf_filtered (_(" sorights: 0x%x\n"), status.mps_sorights);
|
||||||
printf_unfiltered (_(" srights: 0x%x\n"), status.mps_srights);
|
printf_filtered (_(" srights: 0x%x\n"), status.mps_srights);
|
||||||
printf_unfiltered (_(" pdrequest: 0x%x\n"), status.mps_pdrequest);
|
printf_filtered (_(" pdrequest: 0x%x\n"), status.mps_pdrequest);
|
||||||
printf_unfiltered (_(" nsrequest: 0x%x\n"), status.mps_nsrequest);
|
printf_filtered (_(" nsrequest: 0x%x\n"), status.mps_nsrequest);
|
||||||
printf_unfiltered (_(" flags: 0x%x\n"), status.mps_flags);
|
printf_filtered (_(" flags: 0x%x\n"), status.mps_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -352,10 +352,10 @@ info_mach_threads_command (const char *args, int from_tty)
|
|||||||
result = task_threads (task, &threads, &thread_count);
|
result = task_threads (task, &threads, &thread_count);
|
||||||
MACH_CHECK_ERROR (result);
|
MACH_CHECK_ERROR (result);
|
||||||
|
|
||||||
printf_unfiltered (_("Threads in task %#x:\n"), task);
|
printf_filtered (_("Threads in task %#x:\n"), task);
|
||||||
for (i = 0; i < thread_count; ++i)
|
for (i = 0; i < thread_count; ++i)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_(" %#x\n"), threads[i]);
|
printf_filtered (_(" %#x\n"), threads[i]);
|
||||||
mach_port_deallocate (task_self (), threads[i]);
|
mach_port_deallocate (task_self (), threads[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,7 +378,7 @@ info_mach_thread_command (const char *args, int from_tty)
|
|||||||
CHECK_ARGS (_("Thread"), args);
|
CHECK_ARGS (_("Thread"), args);
|
||||||
sscanf (args, "0x%x", &thread);
|
sscanf (args, "0x%x", &thread);
|
||||||
|
|
||||||
printf_unfiltered (_("THREAD_BASIC_INFO\n"));
|
printf_filtered (_("THREAD_BASIC_INFO\n"));
|
||||||
info_count = THREAD_BASIC_INFO_COUNT;
|
info_count = THREAD_BASIC_INFO_COUNT;
|
||||||
result = thread_info (thread,
|
result = thread_info (thread,
|
||||||
THREAD_BASIC_INFO,
|
THREAD_BASIC_INFO,
|
||||||
@ -752,39 +752,39 @@ disp_exception (const darwin_exception_info *info)
|
|||||||
switch (info->behaviors[i])
|
switch (info->behaviors[i])
|
||||||
{
|
{
|
||||||
case EXCEPTION_DEFAULT:
|
case EXCEPTION_DEFAULT:
|
||||||
printf_unfiltered (_("default"));
|
printf_filtered (_("default"));
|
||||||
break;
|
break;
|
||||||
case EXCEPTION_STATE:
|
case EXCEPTION_STATE:
|
||||||
printf_unfiltered (_("state"));
|
printf_filtered (_("state"));
|
||||||
break;
|
break;
|
||||||
case EXCEPTION_STATE_IDENTITY:
|
case EXCEPTION_STATE_IDENTITY:
|
||||||
printf_unfiltered (_("state-identity"));
|
printf_filtered (_("state-identity"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf_unfiltered (_("0x%x"), info->behaviors[i]);
|
printf_filtered (_("0x%x"), info->behaviors[i]);
|
||||||
}
|
}
|
||||||
printf_unfiltered (_(", masks:"));
|
printf_filtered (_(", masks:"));
|
||||||
if (mask & EXC_MASK_BAD_ACCESS)
|
if (mask & EXC_MASK_BAD_ACCESS)
|
||||||
printf_unfiltered (_(" BAD_ACCESS"));
|
printf_filtered (_(" BAD_ACCESS"));
|
||||||
if (mask & EXC_MASK_BAD_INSTRUCTION)
|
if (mask & EXC_MASK_BAD_INSTRUCTION)
|
||||||
printf_unfiltered (_(" BAD_INSTRUCTION"));
|
printf_filtered (_(" BAD_INSTRUCTION"));
|
||||||
if (mask & EXC_MASK_ARITHMETIC)
|
if (mask & EXC_MASK_ARITHMETIC)
|
||||||
printf_unfiltered (_(" ARITHMETIC"));
|
printf_filtered (_(" ARITHMETIC"));
|
||||||
if (mask & EXC_MASK_EMULATION)
|
if (mask & EXC_MASK_EMULATION)
|
||||||
printf_unfiltered (_(" EMULATION"));
|
printf_filtered (_(" EMULATION"));
|
||||||
if (mask & EXC_MASK_SOFTWARE)
|
if (mask & EXC_MASK_SOFTWARE)
|
||||||
printf_unfiltered (_(" SOFTWARE"));
|
printf_filtered (_(" SOFTWARE"));
|
||||||
if (mask & EXC_MASK_BREAKPOINT)
|
if (mask & EXC_MASK_BREAKPOINT)
|
||||||
printf_unfiltered (_(" BREAKPOINT"));
|
printf_filtered (_(" BREAKPOINT"));
|
||||||
if (mask & EXC_MASK_SYSCALL)
|
if (mask & EXC_MASK_SYSCALL)
|
||||||
printf_unfiltered (_(" SYSCALL"));
|
printf_filtered (_(" SYSCALL"));
|
||||||
if (mask & EXC_MASK_MACH_SYSCALL)
|
if (mask & EXC_MASK_MACH_SYSCALL)
|
||||||
printf_unfiltered (_(" MACH_SYSCALL"));
|
printf_filtered (_(" MACH_SYSCALL"));
|
||||||
if (mask & EXC_MASK_RPC_ALERT)
|
if (mask & EXC_MASK_RPC_ALERT)
|
||||||
printf_unfiltered (_(" RPC_ALERT"));
|
printf_filtered (_(" RPC_ALERT"));
|
||||||
if (mask & EXC_MASK_CRASH)
|
if (mask & EXC_MASK_CRASH)
|
||||||
printf_unfiltered (_(" CRASH"));
|
printf_filtered (_(" CRASH"));
|
||||||
printf_unfiltered (_("\n"));
|
printf_filtered (_("\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -801,7 +801,7 @@ info_mach_exceptions_command (const char *args, int from_tty)
|
|||||||
if (strcmp (args, "saved") == 0)
|
if (strcmp (args, "saved") == 0)
|
||||||
{
|
{
|
||||||
if (inferior_ptid == null_ptid)
|
if (inferior_ptid == null_ptid)
|
||||||
printf_unfiltered (_("No inferior running\n"));
|
printf_filtered (_("No inferior running\n"));
|
||||||
|
|
||||||
darwin_inferior *priv = get_darwin_inferior (current_inferior ());
|
darwin_inferior *priv = get_darwin_inferior (current_inferior ());
|
||||||
|
|
||||||
@ -825,7 +825,7 @@ info_mach_exceptions_command (const char *args, int from_tty)
|
|||||||
struct inferior *inf;
|
struct inferior *inf;
|
||||||
|
|
||||||
if (inferior_ptid == null_ptid)
|
if (inferior_ptid == null_ptid)
|
||||||
printf_unfiltered (_("No inferior running\n"));
|
printf_filtered (_("No inferior running\n"));
|
||||||
inf = current_inferior ();
|
inf = current_inferior ();
|
||||||
|
|
||||||
darwin_inferior *priv = get_darwin_inferior (inf);
|
darwin_inferior *priv = get_darwin_inferior (inf);
|
||||||
|
@ -169,8 +169,8 @@ inferior_debug (int level, const char *fmt, ...)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
va_start (ap, fmt);
|
va_start (ap, fmt);
|
||||||
printf_unfiltered (_("[%d inferior]: "), getpid ());
|
fprintf_unfiltered (gdb_stdlog, _("[%d inferior]: "), getpid ());
|
||||||
vprintf_unfiltered (fmt, ap);
|
vfprintf_unfiltered (gdb_stdlog, fmt, ap);
|
||||||
va_end (ap);
|
va_end (ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -459,13 +459,20 @@ darwin_resume_inferior (struct inferior *inf)
|
|||||||
static void
|
static void
|
||||||
darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
|
darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("message header:\n"));
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
printf_unfiltered (_(" bits: 0x%x\n"), hdr->msgh_bits);
|
_("message header:\n"));
|
||||||
printf_unfiltered (_(" size: 0x%x\n"), hdr->msgh_size);
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
printf_unfiltered (_(" remote-port: 0x%x\n"), hdr->msgh_remote_port);
|
_(" bits: 0x%x\n"), hdr->msgh_bits);
|
||||||
printf_unfiltered (_(" local-port: 0x%x\n"), hdr->msgh_local_port);
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
printf_unfiltered (_(" reserved: 0x%x\n"), hdr->msgh_reserved);
|
_(" size: 0x%x\n"), hdr->msgh_size);
|
||||||
printf_unfiltered (_(" id: 0x%x\n"), hdr->msgh_id);
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
|
_(" remote-port: 0x%x\n"), hdr->msgh_remote_port);
|
||||||
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
|
_(" local-port: 0x%x\n"), hdr->msgh_local_port);
|
||||||
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
|
_(" reserved: 0x%x\n"), hdr->msgh_reserved);
|
||||||
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
|
_(" id: 0x%x\n"), hdr->msgh_id);
|
||||||
|
|
||||||
if (disp_body)
|
if (disp_body)
|
||||||
{
|
{
|
||||||
@ -484,21 +491,24 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
|
|||||||
(mach_msg_port_descriptor_t *)(bod + 1);
|
(mach_msg_port_descriptor_t *)(bod + 1);
|
||||||
int k;
|
int k;
|
||||||
NDR_record_t *ndr;
|
NDR_record_t *ndr;
|
||||||
printf_unfiltered (_("body: descriptor_count=%u\n"),
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
bod->msgh_descriptor_count);
|
_("body: descriptor_count=%u\n"),
|
||||||
|
bod->msgh_descriptor_count);
|
||||||
data += sizeof (mach_msg_body_t);
|
data += sizeof (mach_msg_body_t);
|
||||||
size -= sizeof (mach_msg_body_t);
|
size -= sizeof (mach_msg_body_t);
|
||||||
for (k = 0; k < bod->msgh_descriptor_count; k++)
|
for (k = 0; k < bod->msgh_descriptor_count; k++)
|
||||||
switch (desc[k].type)
|
switch (desc[k].type)
|
||||||
{
|
{
|
||||||
case MACH_MSG_PORT_DESCRIPTOR:
|
case MACH_MSG_PORT_DESCRIPTOR:
|
||||||
printf_unfiltered
|
fprintf_unfiltered
|
||||||
(_(" descr %d: type=%u (port) name=0x%x, dispo=%d\n"),
|
(gdb_stdlog,
|
||||||
|
_(" descr %d: type=%u (port) name=0x%x, dispo=%d\n"),
|
||||||
k, desc[k].type, desc[k].name, desc[k].disposition);
|
k, desc[k].type, desc[k].name, desc[k].disposition);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf_unfiltered (_(" descr %d: type=%u\n"),
|
fprintf_unfiltered (gdb_stdlog,
|
||||||
k, desc[k].type);
|
_(" descr %d: type=%u\n"),
|
||||||
|
k, desc[k].type);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
data += bod->msgh_descriptor_count
|
data += bod->msgh_descriptor_count
|
||||||
@ -506,8 +516,9 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
|
|||||||
size -= bod->msgh_descriptor_count
|
size -= bod->msgh_descriptor_count
|
||||||
* sizeof (mach_msg_port_descriptor_t);
|
* sizeof (mach_msg_port_descriptor_t);
|
||||||
ndr = (NDR_record_t *)(desc + bod->msgh_descriptor_count);
|
ndr = (NDR_record_t *)(desc + bod->msgh_descriptor_count);
|
||||||
printf_unfiltered
|
fprintf_unfiltered
|
||||||
(_("NDR: mig=%02x if=%02x encod=%02x "
|
(gdb_stdlog,
|
||||||
|
_("NDR: mig=%02x if=%02x encod=%02x "
|
||||||
"int=%02x char=%02x float=%02x\n"),
|
"int=%02x char=%02x float=%02x\n"),
|
||||||
ndr->mig_vers, ndr->if_vers, ndr->mig_encoding,
|
ndr->mig_vers, ndr->if_vers, ndr->mig_encoding,
|
||||||
ndr->int_rep, ndr->char_rep, ndr->float_rep);
|
ndr->int_rep, ndr->char_rep, ndr->float_rep);
|
||||||
@ -515,11 +526,11 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body)
|
|||||||
size -= sizeof (NDR_record_t);
|
size -= sizeof (NDR_record_t);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf_unfiltered (_(" data:"));
|
fprintf_unfiltered (gdb_stdlog, _(" data:"));
|
||||||
ldata = (const unsigned int *)data;
|
ldata = (const unsigned int *)data;
|
||||||
for (i = 0; i < size / sizeof (unsigned int); i++)
|
for (i = 0; i < size / sizeof (unsigned int); i++)
|
||||||
printf_unfiltered (" %08x", ldata[i]);
|
fprintf_unfiltered (gdb_stdlog, " %08x", ldata[i]);
|
||||||
printf_unfiltered (_("\n"));
|
fprintf_unfiltered (gdb_stdlog, _("\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -977,8 +988,8 @@ darwin_nat_target::decode_message (mach_msg_header_t *hdr,
|
|||||||
if (res < 0)
|
if (res < 0)
|
||||||
{
|
{
|
||||||
/* Should not happen... */
|
/* Should not happen... */
|
||||||
printf_unfiltered
|
warning (_("darwin_wait: ill-formatted message (id=0x%x)\n"),
|
||||||
(_("darwin_wait: ill-formatted message (id=0x%x)\n"), hdr->msgh_id);
|
hdr->msgh_id);
|
||||||
/* FIXME: send a failure reply? */
|
/* FIXME: send a failure reply? */
|
||||||
status->set_ignore ();
|
status->set_ignore ();
|
||||||
return minus_one_ptid;
|
return minus_one_ptid;
|
||||||
@ -1060,7 +1071,7 @@ darwin_nat_target::decode_message (mach_msg_header_t *hdr,
|
|||||||
if (res < 0)
|
if (res < 0)
|
||||||
{
|
{
|
||||||
/* Should not happen... */
|
/* Should not happen... */
|
||||||
printf_unfiltered
|
warning
|
||||||
(_("darwin_wait: ill-formatted message (id=0x%x, res=%d)\n"),
|
(_("darwin_wait: ill-formatted message (id=0x%x, res=%d)\n"),
|
||||||
hdr->msgh_id, res);
|
hdr->msgh_id, res);
|
||||||
}
|
}
|
||||||
@ -1086,8 +1097,8 @@ darwin_nat_target::decode_message (mach_msg_header_t *hdr,
|
|||||||
res_pid = wait4 (inf->pid, &wstatus, 0, NULL);
|
res_pid = wait4 (inf->pid, &wstatus, 0, NULL);
|
||||||
if (res_pid < 0 || res_pid != inf->pid)
|
if (res_pid < 0 || res_pid != inf->pid)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("wait4: res=%d: %s\n"),
|
warning (_("wait4: res=%d: %s\n"),
|
||||||
res_pid, safe_strerror (errno));
|
res_pid, safe_strerror (errno));
|
||||||
status->set_ignore ();
|
status->set_ignore ();
|
||||||
return minus_one_ptid;
|
return minus_one_ptid;
|
||||||
}
|
}
|
||||||
@ -2056,8 +2067,8 @@ darwin_nat_target::detach (inferior *inf, int from_tty)
|
|||||||
{
|
{
|
||||||
res = PTRACE (PT_DETACH, inf->pid, 0, 0);
|
res = PTRACE (PT_DETACH, inf->pid, 0, 0);
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
printf_unfiltered (_("Unable to detach from process-id %d: %s (%d)"),
|
warning (_("Unable to detach from process-id %d: %s (%d)"),
|
||||||
inf->pid, safe_strerror (errno), errno);
|
inf->pid, safe_strerror (errno), errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
darwin_reply_to_all_pending_messages (inf);
|
darwin_reply_to_all_pending_messages (inf);
|
||||||
|
@ -77,9 +77,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno)
|
|||||||
&gp_count);
|
&gp_count);
|
||||||
if (ret != KERN_SUCCESS)
|
if (ret != KERN_SUCCESS)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("Error calling thread_get_state for "
|
warning (_("Error calling thread_get_state for "
|
||||||
"GP registers for thread 0x%lx\n"),
|
"GP registers for thread 0x%lx\n"),
|
||||||
(unsigned long) current_thread);
|
(unsigned long) current_thread);
|
||||||
MACH_CHECK_ERROR (ret);
|
MACH_CHECK_ERROR (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,9 +102,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno)
|
|||||||
&fp_count);
|
&fp_count);
|
||||||
if (ret != KERN_SUCCESS)
|
if (ret != KERN_SUCCESS)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("Error calling thread_get_state for "
|
warning (_("Error calling thread_get_state for "
|
||||||
"float registers for thread 0x%lx\n"),
|
"float registers for thread 0x%lx\n"),
|
||||||
(unsigned long) current_thread);
|
(unsigned long) current_thread);
|
||||||
MACH_CHECK_ERROR (ret);
|
MACH_CHECK_ERROR (ret);
|
||||||
}
|
}
|
||||||
amd64_supply_fxsave (regcache, -1, &fp_regs.ufs.fs64.__fpu_fcw);
|
amd64_supply_fxsave (regcache, -1, &fp_regs.ufs.fs64.__fpu_fcw);
|
||||||
@ -126,9 +126,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno)
|
|||||||
&gp_count);
|
&gp_count);
|
||||||
if (ret != KERN_SUCCESS)
|
if (ret != KERN_SUCCESS)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("Error calling thread_get_state for "
|
warning (_("Error calling thread_get_state for "
|
||||||
"GP registers for thread 0x%lx\n"),
|
"GP registers for thread 0x%lx\n"),
|
||||||
(unsigned long) current_thread);
|
(unsigned long) current_thread);
|
||||||
MACH_CHECK_ERROR (ret);
|
MACH_CHECK_ERROR (ret);
|
||||||
}
|
}
|
||||||
for (i = 0; i < I386_NUM_GREGS; i++)
|
for (i = 0; i < I386_NUM_GREGS; i++)
|
||||||
@ -150,9 +150,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno)
|
|||||||
&fp_count);
|
&fp_count);
|
||||||
if (ret != KERN_SUCCESS)
|
if (ret != KERN_SUCCESS)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("Error calling thread_get_state for "
|
warning (_("Error calling thread_get_state for "
|
||||||
"float registers for thread 0x%lx\n"),
|
"float registers for thread 0x%lx\n"),
|
||||||
(unsigned long) current_thread);
|
(unsigned long) current_thread);
|
||||||
MACH_CHECK_ERROR (ret);
|
MACH_CHECK_ERROR (ret);
|
||||||
}
|
}
|
||||||
i387_supply_fxsave (regcache, -1, &fp_regs.__fpu_fcw);
|
i387_supply_fxsave (regcache, -1, &fp_regs.__fpu_fcw);
|
||||||
@ -588,8 +588,8 @@ darwin_set_sstep (thread_t thread, int enable)
|
|||||||
(thread_state_t) ®s, &count);
|
(thread_state_t) ®s, &count);
|
||||||
if (kret != KERN_SUCCESS)
|
if (kret != KERN_SUCCESS)
|
||||||
{
|
{
|
||||||
printf_unfiltered (_("darwin_set_sstep: error %x, thread=%x\n"),
|
warning (_("darwin_set_sstep: error %x, thread=%x\n"),
|
||||||
kret, thread);
|
kret, thread);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user