diff options
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/exec/main.cpp')
-rw-r--r-- | gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/exec/main.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/exec/main.cpp b/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/exec/main.cpp new file mode 100644 index 00000000000..bec470fd13e --- /dev/null +++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/functionalities/exec/main.cpp @@ -0,0 +1,18 @@ +#define _POSIX_C_SOURCE 200809L + +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <libgen.h> +#include <string> +#include <unistd.h> + +int main(int argc, char const **argv) { + char *buf = strdup(argv[0]); // Set breakpoint 1 here + std::string directory_name(::dirname(buf)); + + std::string other_program = directory_name + "/secondprog"; + execve(other_program.c_str(), const_cast<char *const *>(argv), nullptr); + perror("execve"); + abort(); +} |