diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/foll-exec.c')
-rw-r--r-- | gdb/testsuite/gdb.base/foll-exec.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/foll-exec.c b/gdb/testsuite/gdb.base/foll-exec.c new file mode 100644 index 00000000000..1b760903dd7 --- /dev/null +++ b/gdb/testsuite/gdb.base/foll-exec.c @@ -0,0 +1,43 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> + + +int global_i = 100; + +#ifdef PROTOTYPES +int main (void) +#else +main () +#endif +{ + int local_j = global_i+1; + int local_k = local_j+1; + + printf ("foll-exec is about to execlp(execd-prog)...\n"); + + execlp ("gdb.base/execd-prog", + "gdb.base/execd-prog", + "execlp arg1 from foll-exec", + (char *)0); + + printf ("foll-exec is about to execl(execd-prog)...\n"); + + execl ("gdb.base/execd-prog", + "gdb.base/execd-prog", + "execl arg1 from foll-exec", + "execl arg2 from foll-exec", + (char *)0); + + { + static char * argv[] = { + (char *)"gdb.base/execd-prog", + (char *)"execv arg1 from foll-exec", + (char *)0}; + + printf ("foll-exec is about to execv(execd-prog)...\n"); + + execv ("gdb.base/execd-prog", argv); + } +} |