This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Question about args.exp test
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb at sources dot redhat dot com
- Date: Wed, 21 Apr 2004 14:44:49 -0400
- Subject: Re: Question about args.exp test
- References: <20040421164040.GS1307@cygbert.vinschen.de>
On Wed, Apr 21, 2004 at 06:40:40PM +0200, Corinna Vinschen wrote:
> Hi,
>
> that's perhaps a dumb question but I don't understand what gdb.base/args.exp
> is testing in case of the 2nd and 3rd test.
>
> Both tests are, according to the comment, testing to give empty arguments
> to the inferior. The args application just prints argc and the whole
> argv vector unchanged to stdout.
>
> Well, that's ok, but I don't understand this:
>
> args.exp does not test the empty arguments being empty, but instead it
> tests if '', two apostrophes, are printed. But that's not what the
> args application prints. It just prints the empty string and a \n.
>
> I'm just looking for arm and the arm simulator returns actually empty
> lines where the empty arguments are printed. That looks correct to me,
> but the tests fail, due to the missing ''.
>
> Why is args.exp expecting two apostrophes and who's supposed to add them?
> The args testapplication apparently isn't.
IIRC, the comments are wrong. The tests can not be fixed for the ARM
simulator, though - I spent several days trying. Trace the path that
argv takes through from the GDB prompt to the inferior main(), if you
want some gruesome entertainment:
- it is word split by GDB before invoking the sim
- it is reconstructed into a string by the sim/RDI interface
- it is word split again in either newlib or libgloss, in handwritten
assembly
The interface simply does not permit properly quoted arguments.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer