This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make -exec-run and -exec-until into 'real' MI commands


On Wednesday 13 January 2010 23:09:58 Daniel Jacobowitz wrote:

> 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.  

I think that only "\"" won't be preserved. While "a b" will be present in reconstructed
string with quotes.

> Can we just save the unparsed argv somehow?

We can, but that would be ugly ...

 
> 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.

... for the purpose of supporting frontends that use undocumented accidental
feature, and worse, we don't know any such frontends.

I believe the fact that no known frontends use args was raised the last time,
but you still wanted to assume they exist.

- Volodya


> 
> 


- Volodya


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]