From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 6E4713858407 for ; Sun, 9 Jan 2022 18:00:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6E4713858407 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-558-3v_wfUCKPsSHasAsMtzypg-1; Sun, 09 Jan 2022 13:00:39 -0500 X-MC-Unique: 3v_wfUCKPsSHasAsMtzypg-1 Received: by mail-ed1-f69.google.com with SMTP id h6-20020a056402280600b003f9967993aeso8449954ede.10 for ; Sun, 09 Jan 2022 10:00:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=aL8CAuxWuWgmMp+3w86eqbm/Il3qnSHPtPMYQidf4P4=; b=gFzxlG08ZHwC6WC6nGSBFD8WE6emzhfvx3r1j8OdRGIMCsfR4ZmXW+SwpPR4EAd7AB +3E1i0dQ6f5FZTKLOavzHBMSECfvy6O4DXOPva+5+hx/Ei83fc/Wf+IdI1CW37YhfqIo tPeYpz9J/b/fU4N2V/XwCFzvBjTLpNdcpuTFTBRa5LnAmco8mOSUd2PxeJvbuyE+ZJQQ VA3ms9esEY17mLPertMmYD6GGw833BrGywcKTpnHpKBLPd1S30V1I6TqPGBSnm7HukJK aYxKrC54FJqbIBD1jhGrLsz1mE4InayGgu71S8y4PuglmhbkH+IKcftthMnGa2Lj0lz3 GnVQ== X-Gm-Message-State: AOAM530mFOPyq7CxsEXOrb0if8irDT0JvHL9EMHE3Tcd8+iJ7qo3eYnW Xy6JopOSRqH0QiXv17LMQDQd++wnkR5kHUAaEdvm/X91uI5b32GKN12fJUBU9yiw0ntCERlCcpP KWi4hbThIpem9TMcEstk5rg== X-Received: by 2002:a50:da48:: with SMTP id a8mr69625161edk.155.1641751237970; Sun, 09 Jan 2022 10:00:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJy/7KvxPGf2u3+QwnylrW6LFe9ZSk2KlRtD4s8PSw7iixFQvwGk/Cke9/bAQuBbWzUQfgRkew== X-Received: by 2002:a50:da48:: with SMTP id a8mr69625128edk.155.1641751237562; Sun, 09 Jan 2022 10:00:37 -0800 (PST) Received: from localhost (host109-154-163-67.range109-154.btcentralplus.com. [109.154.163.67]) by smtp.gmail.com with ESMTPSA id f29sm1569505ejj.209.2022.01.09.10.00.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 Jan 2022 10:00:37 -0800 (PST) Date: Sun, 9 Jan 2022 18:00:35 +0000 From: Andrew Burgess To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [PATCH] Reduce use of unfiltered output in Darwin code Message-ID: <20220109180035.GP828155@redhat.com> References: <20220106161342.3152928-1-tom@tromey.com> <20220107120149.GB622389@redhat.com> <87r19i5gm9.fsf@tromey.com> MIME-Version: 1.0 In-Reply-To: <87r19i5gm9.fsf@tromey.com> X-Operating-System: Linux/5.8.18-100.fc31.x86_64 (x86_64) X-Uptime: 18:00:22 up 8 days, 2:54, X-Editor: GNU Emacs [ http://www.gnu.org/software/emacs ] X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Jan 2022 18:00:44 -0000 * Tom Tromey [2022-01-08 09:36:46 -0700]: > >> 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. > > Andrew> I'm tempted to suggest that all of the places where we now write to > Andrew> gdb_stderr should be replaced with calls to warning instead. > > Andrew> Also, you have some trailing whitespace (which I only notice because > Andrew> 'git am' tells me, not because I go hunting for such things), I've > Andrew> marked the locations below. > > Here's v2. LGTM. Thanks, Andrew > > Tom > > commit bb991012bcfb730a647337efdd9c7a4afc86a2be > Author: Tom Tromey > Date: Sun Dec 26 21:38:34 2021 -0700 > > 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". > > diff --git a/gdb/darwin-nat-info.c b/gdb/darwin-nat-info.c > index f158960460d..8d00d6618ca 100644 > --- a/gdb/darwin-nat-info.c > +++ b/gdb/darwin-nat-info.c > @@ -54,10 +54,10 @@ > } while (0) > > #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) \ > - printf_unfiltered(_(#field":\t%u.%06u sec\n"), \ > + printf_filtered(_(#field":\t%u.%06u sec\n"), \ > (unsigned) (structure)->field.seconds, \ > (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); > > count = (length / sizeof (struct kinfo_proc)); > - printf_unfiltered (_("%d processes:\n"), count); > + printf_filtered (_("%d processes:\n"), count); > for (index = 0; index < count; ++index) > { > kern_return_t result; > @@ -94,15 +94,15 @@ info_mach_tasks_command (const char *args, int from_tty) > &taskPort); > if (KERN_SUCCESS == result) > { > - printf_unfiltered (_(" %s is %d has task %#x\n"), > - procInfo[index].kp_proc.p_comm, > - procInfo[index].kp_proc.p_pid, taskPort); > + printf_filtered (_(" %s is %d has task %#x\n"), > + procInfo[index].kp_proc.p_comm, > + procInfo[index].kp_proc.p_pid, taskPort); > } > else > { > - printf_unfiltered (_(" %s is %d unknown task port\n"), > - procInfo[index].kp_proc.p_comm, > - procInfo[index].kp_proc.p_pid); > + printf_filtered (_(" %s is %d unknown task port\n"), > + procInfo[index].kp_proc.p_comm, > + procInfo[index].kp_proc.p_pid); > } > } > > @@ -118,7 +118,7 @@ get_task_from_args (const char *args) > if (args == NULL || *args == 0) > { > 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 ()); > > @@ -129,7 +129,7 @@ get_task_from_args (const char *args) > task = strtoul (args, &eptr, 0); > 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; > @@ -153,7 +153,7 @@ info_mach_task_command (const char *args, int from_tty) > if (task == TASK_NULL) > 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; > result = task_info (task, > 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_TV_FIELD (&task_info_data.basic, user_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; > result = task_info (task, > 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, messages_sent); > 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; > result = task_info (task, > TASK_THREAD_TIMES_INFO, > @@ -211,8 +211,8 @@ info_mach_ports_command (const char *args, int from_tty) > > gdb_assert (name_count == type_count); > > - printf_unfiltered (_("Ports for task 0x%x:\n"), task); > - printf_unfiltered (_("port type\n")); > + printf_filtered (_("Ports for task 0x%x:\n"), task); > + printf_filtered (_("port type\n")); > for (index = 0; index < name_count; ++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} > }; > > - printf_unfiltered (_("%04x: %08x "), port, types[index]); > + printf_filtered (_("%04x: %08x "), port, types[index]); > for (j = 0; j < sizeof(descrs) / sizeof(*descrs); j++) > if (types[index] & descrs[j].type) > { > mach_port_urefs_t ref; > 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); > if (ret != KERN_SUCCESS) > - printf_unfiltered (_("??")); > + printf_filtered (_("??")); > else > - printf_unfiltered (_("%u"), ref); > - printf_unfiltered (_(" refs)")); > + printf_filtered (_("%u"), ref); > + printf_filtered (_(" refs)")); > } > > if (task == task_self ()) > { > if (port == task_self()) > - printf_unfiltered (_(" gdb-task")); > + printf_filtered (_(" gdb-task")); > else if (port == darwin_host_self) > - printf_unfiltered (_(" host-self")); > + printf_filtered (_(" host-self")); > else if (port == darwin_ex_port) > - printf_unfiltered (_(" gdb-exception")); > + printf_filtered (_(" gdb-exception")); > else if (port == darwin_port_set) > - printf_unfiltered (_(" gdb-port_set")); > + printf_filtered (_(" gdb-port_set")); > else if (inferior_ptid != null_ptid) > { > struct inferior *inf = current_inferior (); > darwin_inferior *priv = get_darwin_inferior (inf); > > if (port == priv->task) > - printf_unfiltered (_(" inferior-task")); > + printf_filtered (_(" inferior-task")); > else if (port == priv->notify_port) > - printf_unfiltered (_(" inferior-notify")); > + printf_filtered (_(" inferior-notify")); > else > { > for (int k = 0; k < priv->exception_info.count; k++) > if (port == priv->exception_info.ports[k]) > { > - printf_unfiltered (_(" inferior-excp-port")); > + printf_filtered (_(" inferior-excp-port")); > break; > } > > @@ -280,8 +280,8 @@ info_mach_ports_command (const char *args, int from_tty) > { > if (port == t->gdb_port) > { > - printf_unfiltered (_(" inferior-thread for 0x%x"), > - priv->task); > + printf_filtered (_(" inferior-thread for 0x%x"), > + priv->task); > 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, > @@ -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); > MACH_CHECK_ERROR (kret); > > - printf_unfiltered (_("Port 0x%lx in task 0x%lx:\n"), (unsigned long) port, > - (unsigned long) task); > - printf_unfiltered (_(" port set: 0x%x\n"), status.mps_pset); > - printf_unfiltered (_(" seqno: 0x%x\n"), status.mps_seqno); > - printf_unfiltered (_(" mscount: 0x%x\n"), status.mps_mscount); > - printf_unfiltered (_(" qlimit: 0x%x\n"), status.mps_qlimit); > - printf_unfiltered (_(" msgcount: 0x%x\n"), status.mps_msgcount); > - printf_unfiltered (_(" sorights: 0x%x\n"), status.mps_sorights); > - printf_unfiltered (_(" srights: 0x%x\n"), status.mps_srights); > - printf_unfiltered (_(" pdrequest: 0x%x\n"), status.mps_pdrequest); > - printf_unfiltered (_(" nsrequest: 0x%x\n"), status.mps_nsrequest); > - printf_unfiltered (_(" flags: 0x%x\n"), status.mps_flags); > + printf_filtered (_("Port 0x%lx in task 0x%lx:\n"), (unsigned long) port, > + (unsigned long) task); > + printf_filtered (_(" port set: 0x%x\n"), status.mps_pset); > + printf_filtered (_(" seqno: 0x%x\n"), status.mps_seqno); > + printf_filtered (_(" mscount: 0x%x\n"), status.mps_mscount); > + printf_filtered (_(" qlimit: 0x%x\n"), status.mps_qlimit); > + printf_filtered (_(" msgcount: 0x%x\n"), status.mps_msgcount); > + printf_filtered (_(" sorights: 0x%x\n"), status.mps_sorights); > + printf_filtered (_(" srights: 0x%x\n"), status.mps_srights); > + printf_filtered (_(" pdrequest: 0x%x\n"), status.mps_pdrequest); > + printf_filtered (_(" nsrequest: 0x%x\n"), status.mps_nsrequest); > + printf_filtered (_(" flags: 0x%x\n"), status.mps_flags); > } > > static void > @@ -352,10 +352,10 @@ info_mach_threads_command (const char *args, int from_tty) > result = task_threads (task, &threads, &thread_count); > 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) > { > - printf_unfiltered (_(" %#x\n"), threads[i]); > + printf_filtered (_(" %#x\n"), 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); > sscanf (args, "0x%x", &thread); > > - printf_unfiltered (_("THREAD_BASIC_INFO\n")); > + printf_filtered (_("THREAD_BASIC_INFO\n")); > info_count = THREAD_BASIC_INFO_COUNT; > result = thread_info (thread, > THREAD_BASIC_INFO, > @@ -752,39 +752,39 @@ disp_exception (const darwin_exception_info *info) > switch (info->behaviors[i]) > { > case EXCEPTION_DEFAULT: > - printf_unfiltered (_("default")); > + printf_filtered (_("default")); > break; > case EXCEPTION_STATE: > - printf_unfiltered (_("state")); > + printf_filtered (_("state")); > break; > case EXCEPTION_STATE_IDENTITY: > - printf_unfiltered (_("state-identity")); > + printf_filtered (_("state-identity")); > break; > 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) > - printf_unfiltered (_(" BAD_ACCESS")); > + printf_filtered (_(" BAD_ACCESS")); > if (mask & EXC_MASK_BAD_INSTRUCTION) > - printf_unfiltered (_(" BAD_INSTRUCTION")); > + printf_filtered (_(" BAD_INSTRUCTION")); > if (mask & EXC_MASK_ARITHMETIC) > - printf_unfiltered (_(" ARITHMETIC")); > + printf_filtered (_(" ARITHMETIC")); > if (mask & EXC_MASK_EMULATION) > - printf_unfiltered (_(" EMULATION")); > + printf_filtered (_(" EMULATION")); > if (mask & EXC_MASK_SOFTWARE) > - printf_unfiltered (_(" SOFTWARE")); > + printf_filtered (_(" SOFTWARE")); > if (mask & EXC_MASK_BREAKPOINT) > - printf_unfiltered (_(" BREAKPOINT")); > + printf_filtered (_(" BREAKPOINT")); > if (mask & EXC_MASK_SYSCALL) > - printf_unfiltered (_(" SYSCALL")); > + printf_filtered (_(" SYSCALL")); > if (mask & EXC_MASK_MACH_SYSCALL) > - printf_unfiltered (_(" MACH_SYSCALL")); > + printf_filtered (_(" MACH_SYSCALL")); > if (mask & EXC_MASK_RPC_ALERT) > - printf_unfiltered (_(" RPC_ALERT")); > + printf_filtered (_(" RPC_ALERT")); > if (mask & EXC_MASK_CRASH) > - printf_unfiltered (_(" CRASH")); > - printf_unfiltered (_("\n")); > + printf_filtered (_(" CRASH")); > + printf_filtered (_("\n")); > } > } > > @@ -801,7 +801,7 @@ info_mach_exceptions_command (const char *args, int from_tty) > if (strcmp (args, "saved") == 0) > { > 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 ()); > > @@ -825,7 +825,7 @@ info_mach_exceptions_command (const char *args, int from_tty) > struct inferior *inf; > > if (inferior_ptid == null_ptid) > - printf_unfiltered (_("No inferior running\n")); > + printf_filtered (_("No inferior running\n")); > inf = current_inferior (); > > darwin_inferior *priv = get_darwin_inferior (inf); > diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c > index e9c24dcc5dc..d96ce1a6c65 100644 > --- a/gdb/darwin-nat.c > +++ b/gdb/darwin-nat.c > @@ -169,8 +169,8 @@ inferior_debug (int level, const char *fmt, ...) > return; > > va_start (ap, fmt); > - printf_unfiltered (_("[%d inferior]: "), getpid ()); > - vprintf_unfiltered (fmt, ap); > + fprintf_unfiltered (gdb_stdlog, _("[%d inferior]: "), getpid ()); > + vfprintf_unfiltered (gdb_stdlog, fmt, ap); > va_end (ap); > } > > @@ -459,13 +459,20 @@ darwin_resume_inferior (struct inferior *inf) > static void > darwin_dump_message (mach_msg_header_t *hdr, int disp_body) > { > - printf_unfiltered (_("message header:\n")); > - printf_unfiltered (_(" bits: 0x%x\n"), hdr->msgh_bits); > - printf_unfiltered (_(" size: 0x%x\n"), hdr->msgh_size); > - printf_unfiltered (_(" remote-port: 0x%x\n"), hdr->msgh_remote_port); > - printf_unfiltered (_(" local-port: 0x%x\n"), hdr->msgh_local_port); > - printf_unfiltered (_(" reserved: 0x%x\n"), hdr->msgh_reserved); > - printf_unfiltered (_(" id: 0x%x\n"), hdr->msgh_id); > + fprintf_unfiltered (gdb_stdlog, > + _("message header:\n")); > + fprintf_unfiltered (gdb_stdlog, > + _(" bits: 0x%x\n"), hdr->msgh_bits); > + fprintf_unfiltered (gdb_stdlog, > + _(" size: 0x%x\n"), hdr->msgh_size); > + 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) > { > @@ -484,21 +491,24 @@ darwin_dump_message (mach_msg_header_t *hdr, int disp_body) > (mach_msg_port_descriptor_t *)(bod + 1); > int k; > NDR_record_t *ndr; > - printf_unfiltered (_("body: descriptor_count=%u\n"), > - bod->msgh_descriptor_count); > + fprintf_unfiltered (gdb_stdlog, > + _("body: descriptor_count=%u\n"), > + bod->msgh_descriptor_count); > data += sizeof (mach_msg_body_t); > size -= sizeof (mach_msg_body_t); > for (k = 0; k < bod->msgh_descriptor_count; k++) > switch (desc[k].type) > { > case MACH_MSG_PORT_DESCRIPTOR: > - printf_unfiltered > - (_(" descr %d: type=%u (port) name=0x%x, dispo=%d\n"), > + fprintf_unfiltered > + (gdb_stdlog, > + _(" descr %d: type=%u (port) name=0x%x, dispo=%d\n"), > k, desc[k].type, desc[k].name, desc[k].disposition); > break; > default: > - printf_unfiltered (_(" descr %d: type=%u\n"), > - k, desc[k].type); > + fprintf_unfiltered (gdb_stdlog, > + _(" descr %d: type=%u\n"), > + k, desc[k].type); > break; > } > 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 > * sizeof (mach_msg_port_descriptor_t); > ndr = (NDR_record_t *)(desc + bod->msgh_descriptor_count); > - printf_unfiltered > - (_("NDR: mig=%02x if=%02x encod=%02x " > + fprintf_unfiltered > + (gdb_stdlog, > + _("NDR: mig=%02x if=%02x encod=%02x " > "int=%02x char=%02x float=%02x\n"), > ndr->mig_vers, ndr->if_vers, ndr->mig_encoding, > 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); > } > > - printf_unfiltered (_(" data:")); > + fprintf_unfiltered (gdb_stdlog, _(" data:")); > ldata = (const unsigned int *)data; > for (i = 0; i < size / sizeof (unsigned int); i++) > - printf_unfiltered (" %08x", ldata[i]); > - printf_unfiltered (_("\n")); > + fprintf_unfiltered (gdb_stdlog, " %08x", ldata[i]); > + fprintf_unfiltered (gdb_stdlog, _("\n")); > } > } > > @@ -977,8 +988,8 @@ darwin_nat_target::decode_message (mach_msg_header_t *hdr, > if (res < 0) > { > /* Should not happen... */ > - printf_unfiltered > - (_("darwin_wait: ill-formatted message (id=0x%x)\n"), hdr->msgh_id); > + warning (_("darwin_wait: ill-formatted message (id=0x%x)\n"), > + hdr->msgh_id); > /* FIXME: send a failure reply? */ > status->set_ignore (); > return minus_one_ptid; > @@ -1060,7 +1071,7 @@ darwin_nat_target::decode_message (mach_msg_header_t *hdr, > if (res < 0) > { > /* Should not happen... */ > - printf_unfiltered > + warning > (_("darwin_wait: ill-formatted message (id=0x%x, res=%d)\n"), > 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); > if (res_pid < 0 || res_pid != inf->pid) > { > - printf_unfiltered (_("wait4: res=%d: %s\n"), > - res_pid, safe_strerror (errno)); > + warning (_("wait4: res=%d: %s\n"), > + res_pid, safe_strerror (errno)); > status->set_ignore (); > 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); > if (res != 0) > - printf_unfiltered (_("Unable to detach from process-id %d: %s (%d)"), > - inf->pid, safe_strerror (errno), errno); > + warning (_("Unable to detach from process-id %d: %s (%d)"), > + inf->pid, safe_strerror (errno), errno); > } > > darwin_reply_to_all_pending_messages (inf); > diff --git a/gdb/i386-darwin-nat.c b/gdb/i386-darwin-nat.c > index b7199da5610..b64b2b3e81b 100644 > --- a/gdb/i386-darwin-nat.c > +++ b/gdb/i386-darwin-nat.c > @@ -77,9 +77,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno) > &gp_count); > if (ret != KERN_SUCCESS) > { > - printf_unfiltered (_("Error calling thread_get_state for " > - "GP registers for thread 0x%lx\n"), > - (unsigned long) current_thread); > + warning (_("Error calling thread_get_state for " > + "GP registers for thread 0x%lx\n"), > + (unsigned long) current_thread); > MACH_CHECK_ERROR (ret); > } > > @@ -102,9 +102,9 @@ i386_darwin_nat_target::fetch_registers (struct regcache *regcache, int regno) > &fp_count); > if (ret != KERN_SUCCESS) > { > - printf_unfiltered (_("Error calling thread_get_state for " > - "float registers for thread 0x%lx\n"), > - (unsigned long) current_thread); > + warning (_("Error calling thread_get_state for " > + "float registers for thread 0x%lx\n"), > + (unsigned long) current_thread); > MACH_CHECK_ERROR (ret); > } > 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); > if (ret != KERN_SUCCESS) > { > - printf_unfiltered (_("Error calling thread_get_state for " > - "GP registers for thread 0x%lx\n"), > - (unsigned long) current_thread); > + warning (_("Error calling thread_get_state for " > + "GP registers for thread 0x%lx\n"), > + (unsigned long) current_thread); > MACH_CHECK_ERROR (ret); > } > 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); > if (ret != KERN_SUCCESS) > { > - printf_unfiltered (_("Error calling thread_get_state for " > - "float registers for thread 0x%lx\n"), > - (unsigned long) current_thread); > + warning (_("Error calling thread_get_state for " > + "float registers for thread 0x%lx\n"), > + (unsigned long) current_thread); > MACH_CHECK_ERROR (ret); > } > 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); > if (kret != KERN_SUCCESS) > { > - printf_unfiltered (_("darwin_set_sstep: error %x, thread=%x\n"), > - kret, thread); > + warning (_("darwin_set_sstep: error %x, thread=%x\n"), > + kret, thread); > return; > } >