diff options
Diffstat (limited to 'example')
-rw-r--r-- | example/CMakeLists.txt | 14 | ||||
-rw-r--r-- | example/lib.c | 7 | ||||
-rw-r--r-- | example/target.c | 14 |
3 files changed, 35 insertions, 0 deletions
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt new file mode 100644 index 0000000..ea5871c --- /dev/null +++ b/example/CMakeLists.txt @@ -0,0 +1,14 @@ + +set(LIB_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/lib.c) +set(TARGET_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/target.c) + +set(CMAKE_SHARED_LIBRARY_PREFIX "") +add_library(lib SHARED ${LIB_SOURCE}) +add_executable(target ${TARGET_SOURCE}) + +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + add_library(lib32 SHARED ${LIB_SOURCE}) + set_target_properties(lib32 PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") + add_executable(target32 ${TARGET_SOURCE}) + set_target_properties(target32 PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") +endif()
\ No newline at end of file diff --git a/example/lib.c b/example/lib.c new file mode 100644 index 0000000..6622e56 --- /dev/null +++ b/example/lib.c @@ -0,0 +1,7 @@ +#include <unistd.h> +#include <stdio.h> + +void __attribute__((constructor)) lib_entry() +{ + printf("Injected into %li\n", getpid()); +} diff --git a/example/target.c b/example/target.c new file mode 100644 index 0000000..fc34b9d --- /dev/null +++ b/example/target.c @@ -0,0 +1,14 @@ +#include <stdio.h> +#include <unistd.h> + +int main() +{ + printf("pid %li\n", getpid()); + while (1) + { + printf("waiting...\n"); + sleep(2); + } + + return 1; +}
\ No newline at end of file |