From 6d2292f2431ec9405b8789c28c81e8e711c15b2d Mon Sep 17 00:00:00 2001
From: Johannes Stoelp <johannes.stoelp@gmail.com>
Date: Sat, 6 Apr 2024 23:17:02 +0200
Subject: ld.so: add RTLD_LOCAL, RTLD_DEEPBIND notes + example

---
 src/development/ldso/deepbind/Makefile | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 src/development/ldso/deepbind/Makefile

(limited to 'src/development/ldso/deepbind/Makefile')

diff --git a/src/development/ldso/deepbind/Makefile b/src/development/ldso/deepbind/Makefile
new file mode 100644
index 0000000..6fc4eb1
--- /dev/null
+++ b/src/development/ldso/deepbind/Makefile
@@ -0,0 +1,19 @@
+run: build
+	LD_PRELOAD=./libprel.so ./main
+
+debug: build
+	#LD_DEBUG_OUTPUT=ldso
+	LD_DEBUG=scopes,symbols,bindings LD_PRELOAD=./libprel.so ./main
+
+build:
+	gcc -g -o libprel.so lib.c -DNAME=\"prel\" -fPIC -shared
+	gcc -g -o libdeep.so lib.c -DNAME=\"deep\" -fPIC -shared
+	gcc -g -o libnodp.so lib.c -DNAME=\"nodp\" -fPIC -shared
+	gcc -g -o liblink.so lib.c -DNAME=\"link\" -fPIC -shared
+	gcc -g -o main main.c ./liblink.so -ldl
+
+fmt:
+	clang-format -i *.c
+
+clean:
+	$(RM) *.so main
-- 
cgit v1.2.3