This is the mail archive of the gdb@sources.redhat.com 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: Question about args.exp test


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


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