From 7cba7952cde7f33f4d37763acaf482f0e01cdce7 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sat, 17 May 2008 12:39:28 +0200 Subject: [PATCH] Add PID-setting preloadable DSO --- gen/.gitignore | 1 + gen/Makefile | 20 ++++++++++++++++++++ gen/setpid.c | 7 +++++++ 3 files changed, 28 insertions(+) create mode 100644 gen/.gitignore create mode 100644 gen/Makefile create mode 100644 gen/setpid.c diff --git a/gen/.gitignore b/gen/.gitignore new file mode 100644 index 0000000..942e74c --- /dev/null +++ b/gen/.gitignore @@ -0,0 +1 @@ +/setpid-*.so diff --git a/gen/Makefile b/gen/Makefile new file mode 100644 index 0000000..02a83ab --- /dev/null +++ b/gen/Makefile @@ -0,0 +1,20 @@ +arch := $(shell dpkg-architecture -qDEB_HOST_ARCH) +dso := setpid-$(arch).so + +.PHONY: all clean clean-all check-setpid + +all: $(dso) + +clean: + -rm -f $(dso) + +clean-all: + -rm -f *.so + +$(dso) : setpid.c + $(CC) $(CFLAGS) -fPIC -shared -o $@ $^ + +check-setpid : $(dso) + test 555 = `SETPID=555 LD_PRELOAD=./$(dso) /bin/sh -c 'echo $$$$'` + test 555 = `SETPID=555 LD_PRELOAD=./$(dso) /bin/sh -c 'echo $$$$'` + test 555 = `SETPID=555 LD_PRELOAD=./$(dso) /bin/sh -c 'echo $$$$'` diff --git a/gen/setpid.c b/gen/setpid.c new file mode 100644 index 0000000..a708848 --- /dev/null +++ b/gen/setpid.c @@ -0,0 +1,7 @@ +#include + +int +getpid(void) +{ + return atoi(getenv("SETPID")); +} -- 2.11.4.GIT