old-cross-binutils/gdb/testsuite/gdb.base/foll-vfork.c
Tom Tromey 3fef966c5f fix some "exec" tests
A few tests run an inferior that execs some other program.  The name
of this exec'd program is compiled in.  These tests assume the current
test suite directory layout, but fail in parallel mode.

This patch fixes these tests by letting the .exp files pass in the
directory names at compile time.

2013-11-04  Tom Tromey  <tromey@redhat.com>

	* gdb.base/foll-exec.c (main): Use BASEDIR.
	* gdb.base/foll-exec.exp: Define BASEDIR during compilation.
	* gdb.base/foll-vfork.c (main): Use BASEDIR.
	* gdb.base/foll-vfork.exp: Define BASEDIR during compilation.
	* gdb.multi/bkpt-multi-exec.c (main): Use BASEDIR.
	* gdb.multi/bkpt-multi-exec.exp: Define BASEDIR during compilation.
2013-11-04 11:02:10 -07:00

39 lines
1.1 KiB
C

/* This testcase is part of GDB, the GNU debugger.
Copyright 1997-2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <unistd.h>
#ifdef PROTOTYPES
int main (void)
#else
main ()
#endif
{
int pid;
pid = vfork ();
if (pid == 0) {
printf ("I'm the child!\n");
execlp (BASEDIR "/vforked-prog", BASEDIR "/vforked-prog", (char *)0);
perror ("exec failed");
_exit (1);
}
else {
printf ("I'm the proud parent of child #%d!\n", pid);
}
}