loader based trace using musl
[ldtrace] / loader / config.mak
diff --git a/loader/config.mak b/loader/config.mak
new file mode 100644 (file)
index 0000000..888cea8
--- /dev/null
@@ -0,0 +1,22 @@
+# add at the end of musl config.mak
+
+all: lib/libw.so w/dump
+
+w/dump: w/dump.o
+       $(CC) -o $@ $^
+
+w/redef: lib/libc.so
+       nm -D lib/libc.so |awk '/^[0-9a-f]* [T|W]/{print $$3 " __real_" $$3}' >$@
+
+w/tab.h: w/redef
+       awk 'BEGIN{n=0} {print "T(" n++ "," $$1 ")"}' $< >$@
+
+%.wo: %.lo
+       objcopy --redefine-syms w/redef $< $@
+
+w/wrap.lo: w/tab.h w/stub.h
+
+lib/libw.so: w/wrap.lo $(LOBJS:%.lo=%.wo)
+       $(CC) $(CFLAGS_ALL_SHARED) $(LDFLAGS) -nostdlib -shared \
+       -Wl,-e,__real__start -Wl,-Bsymbolic-functions \
+       -o $@ $^ $(LIBCC)