summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/foll-exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.base/foll-exec.c')
-rw-r--r--gdb/testsuite/gdb.base/foll-exec.c43
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);
+ }
+}