From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16549 invoked by alias); 13 Jan 2010 20:10:12 -0000 Received: (qmail 16532 invoked by uid 22791); 13 Jan 2010 20:10:11 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Jan 2010 20:10:02 +0000 Received: (qmail 2014 invoked from network); 13 Jan 2010 20:10:00 -0000 Received: from unknown (HELO caradoc.them.org) (dan@127.0.0.2) by mail.codesourcery.com with ESMTPA; 13 Jan 2010 20:10:00 -0000 Date: Wed, 13 Jan 2010 20:10:00 -0000 From: Daniel Jacobowitz To: Vladimir Prus Cc: gdb-patches@sourceware.org Subject: Re: Make -exec-run and -exec-until into 'real' MI commands Message-ID: <20100113200953.GA3955@caradoc.them.org> Mail-Followup-To: Vladimir Prus , gdb-patches@sourceware.org References: <201001131629.25873.vladimir@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201001131629.25873.vladimir@codesourcery.com> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-01/txt/msg00354.txt.bz2 On Wed, Jan 13, 2010 at 04:29:25PM +0300, Vladimir Prus wrote: > > At present, '-exec-run' and '-exec-until' are directly routed > to CLI, with very little MI intervention. I have tried to fix > that before, but there were backward compatibility concerns. > > While working on multiexec MI patches, I really needed to have > -exec-run handled in MI, so I've made another attempt, which > is attached. Comments? How much compatibility are you looking for? It takes a long path through GDB, but the argument to -exec-run today eventually gets passed to the shell with no additional quoting. If I type: (gdb) run a b "a b" "\"" then GDB does: execve("/bin/zsh", ["/bin/zsh", "-c", "exec /usr/bin/gdb a b \"a b\" \"\\\"\""], [/* 64 vars */]) That's the same as typing at a shell prompt: exec /usr/bin/gdb a b "a b" "\"" Your patch doesn't undo the effect of mi_parse_argv, so this won't be preserved. Can we just save the unparsed argv somehow? I don't remember the previous time this came up, but are there front ends that pass arguments to -exec-run? It's not documented as accepting any. -- Daniel Jacobowitz CodeSourcery