Without this, running clang (or anything else that uses LLVM) will crash
because we might LD_PRELOAD the wrong symbol versions into its binary.
We don't need to export any symbols at all, since everything is done via the
.init section. This library just needs to be mapped in memory somewhere so our
function pointers don't disappear.
lib_LTLIBRARIES = libfuckit.la
libfuckit_la_CXXFLAGS = @LLVM_CFLAGS@ $(AM_CFLAGS)
-libfuckit_la_LDFLAGS = $(shell @LLVM_CONFIG@ --ldflags) @LLVM_LIBS@
+libfuckit_la_LDFLAGS = $(shell @LLVM_CONFIG@ --ldflags) @LLVM_LIBS@ -Wl,--version-script=@srcdir@/version
libfuckit_la_SOURCES = fuckit.cpp
--- /dev/null
+VERSION_0.1 {
+ local: *;
+};