From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35237) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUIzH-0002HT-OI for qemu-devel@nongnu.org; Fri, 12 Feb 2016 14:02:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUIzD-00080p-M8 for qemu-devel@nongnu.org; Fri, 12 Feb 2016 14:02:39 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51549) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUIzD-00080l-Gg for qemu-devel@nongnu.org; Fri, 12 Feb 2016 14:02:35 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 2154F8F26F for ; Fri, 12 Feb 2016 19:02:35 +0000 (UTC) From: Eduardo Habkost Date: Fri, 12 Feb 2016 17:02:25 -0200 Message-Id: <1455303747-19776-3-git-send-email-ehabkost@redhat.com> In-Reply-To: <1455303747-19776-1-git-send-email-ehabkost@redhat.com> References: <1455303747-19776-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH v2 2/4] vl: Reset location after handling command-line arguments List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Paolo Bonzini , lersek@redhat.com, armbru@redhat.com After looping through all command-line arguments, error location info becomes obsolete, and any function calling error_report() will print misleading information. This breaks error reporting for some option handling, like: $ qemu-system-x86_64 -icount rr=x -vnc :0 qemu-system-x86_64: -vnc :0: Invalid icount rr option: x $ qemu-system-x86_64 -m size= -vnc :0 qemu-system-x86_64: -vnc :0: missing 'size' option value Fix this by resetting location info as soon as we exit the command-line handling loop. With this, replay_configure() and set_memory_options() won't print any location info yet, but at least they won't print incorrect information. Signed-off-by: Eduardo Habkost --- vl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vl.c b/vl.c index afbf13f..50cd018 100644 --- a/vl.c +++ b/vl.c @@ -4053,14 +4053,14 @@ int main(int argc, char **argv, char **envp) } } + loc_set_none(); + replay_configure(icount_opts); set_machine_options(&machine_class); set_memory_options(&ram_slots, &maxram_size, machine_class); - loc_set_none(); - os_daemonize(); if (qemu_init_main_loop(&main_loop_err)) { -- 2.1.0