From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LPIzc-0008VG-Vz for qemu-devel@nongnu.org; Tue, 20 Jan 2009 10:58:21 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LPIzb-0008U7-LT for qemu-devel@nongnu.org; Tue, 20 Jan 2009 10:58:20 -0500 Received: from [199.232.76.173] (port=53691 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LPIza-0008Tu-Hs for qemu-devel@nongnu.org; Tue, 20 Jan 2009 10:58:18 -0500 Received: from [84.20.150.76] (port=34496 helo=narury.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LPIzZ-0002UK-Hq for qemu-devel@nongnu.org; Tue, 20 Jan 2009 10:58:18 -0500 Received: from kos.to (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by narury.org (Postfix) with ESMTP id 950543274003 for ; Tue, 20 Jan 2009 17:58:10 +0200 (EET) Date: Tue, 20 Jan 2009 17:58:10 +0200 From: Riku Voipio Subject: Re: [Qemu-devel] [6338] Convert references to logfile/loglevel to use qemu_log*() macros Message-ID: <20090120155810.GB1230@kos.to> References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="JWEK1jqKZ6MHAcjA" Content-Disposition: inline In-Reply-To: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --JWEK1jqKZ6MHAcjA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline > Modified: trunk/linux-user/main.c > =================================================================== > --- trunk/linux-user/main.c 2009-01-15 22:17:38 UTC (rev 6337) > +++ trunk/linux-user/main.c 2009-01-15 22:34:14 UTC (rev 6338) > @@ -1057,10 +1057,8 @@ > do { \ > fprintf(stderr, fmt , ##args); \ > cpu_dump_state(env, stderr, fprintf, 0); \ > - if (loglevel != 0) { \ > - fprintf(logfile, fmt , ##args); \ > - cpu_dump_state(env, logfile, fprintf, 0); \ > - } \ > + qemu_log(fmt, ##args); \ > + log_cpu_state(env, 0); \ > } while (0) > > void cpu_loop(CPUPPCState *env) > @@ -2396,21 +2394,19 @@ > > free(target_environ); > > - if (loglevel) { > - page_dump(logfile); > + log_page_dump(); > > - fprintf(logfile, "start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); > - fprintf(logfile, "end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); > - fprintf(logfile, "start_code 0x" TARGET_ABI_FMT_lx "\n", > - info->start_code); > - fprintf(logfile, "start_data 0x" TARGET_ABI_FMT_lx "\n", > - info->start_data); > - fprintf(logfile, "end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); > - fprintf(logfile, "start_stack 0x" TARGET_ABI_FMT_lx "\n", > - info->start_stack); > - fprintf(logfile, "brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); > - fprintf(logfile, "entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); > - } > + qemu_log("start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); > + qemu_log("end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); > + qemu_log("start_code 0x" TARGET_ABI_FMT_lx "\n", > + info->start_code); > + qemu_log("start_data 0x" TARGET_ABI_FMT_lx "\n", > + info->start_data); > + qemu_log("end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); > + qemu_log("start_stack 0x" TARGET_ABI_FMT_lx "\n", > + info->start_stack); > + qemu_log("brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); > + qemu_log("entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); > > target_set_brk(info->brk); > syscall_init(); This breaks linux-user when called without -d option. The attached patch fixes it for me(tm). --JWEK1jqKZ6MHAcjA Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-linux-user-fix-breakage-from-r6338.patch" >>From 1b31992e04e8006fb0087d25b186800f48babbe0 Mon Sep 17 00:00:00 2001 From: Riku Voipio Date: Tue, 20 Jan 2009 17:22:07 +0200 Subject: [PATCH] linux-user: fix breakage from r6338 log_page_dump() will segfault is logfile is NULL. Signed-off-by: Riku Voipio --- linux-user/main.c | 29 ++++++++++++++++------------- 1 files changed, 16 insertions(+), 13 deletions(-) diff --git a/linux-user/main.c b/linux-user/main.c index 5685b37..59da5fd 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -2394,19 +2394,22 @@ int main(int argc, char **argv, char **envp) free(target_environ); - log_page_dump(); - - qemu_log("start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); - qemu_log("end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); - qemu_log("start_code 0x" TARGET_ABI_FMT_lx "\n", - info->start_code); - qemu_log("start_data 0x" TARGET_ABI_FMT_lx "\n", - info->start_data); - qemu_log("end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); - qemu_log("start_stack 0x" TARGET_ABI_FMT_lx "\n", - info->start_stack); - qemu_log("brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); - qemu_log("entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); + if(qemu_log_enabled()) + { + log_page_dump(); + + qemu_log("start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); + qemu_log("end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); + qemu_log("start_code 0x" TARGET_ABI_FMT_lx "\n", + info->start_code); + qemu_log("start_data 0x" TARGET_ABI_FMT_lx "\n", + info->start_data); + qemu_log("end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); + qemu_log("start_stack 0x" TARGET_ABI_FMT_lx "\n", + info->start_stack); + qemu_log("brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); + qemu_log("entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); + } target_set_brk(info->brk); syscall_init(); -- 1.5.6.3 --JWEK1jqKZ6MHAcjA--