diff options
author | Rob Austein <sra@hactrn.net> | 2016-08-10 21:06:04 -0400 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-08-10 21:06:04 -0400 |
commit | ef142cd0ba5e60baee56b8aaafac9a835958a679 (patch) | |
tree | 26378797d1325d1688afdf72a0129453bdc74177 | |
parent | f1a7e6578fe9efe81ab3e511e19c84a25049acb2 (diff) |
Shared library symbol versioning support from Ondrej Sury (thanks!).
Apparently this is how the cool kids handle hiding library-internal
symbols now, using objcopy is old hat. Ondrey tells us that this
should work on GNU/Linux and on *BSD, which, at the moment, just
leaves OSX, which we already handle with an OSX-specific kludge.
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | libcryptech-pkcs11.map | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -179,9 +179,7 @@ ifeq "${UNAME}" "Darwin" else ${SONAME}: pkcs11.o ${LIBS} - ${CC} ${CFLAGS} -shared -o $@.tmp $^ ${SOFLAGS} ${LDFLAGS} - ${OBJCOPY} -w -G 'C_*' $@.tmp $@ - rm -f $@.tmp + ${CC} ${CFLAGS} -Wl,--version-script=libcryptech-pkcs11.map -shared -o $@ $^ ${SOFLAGS} ${LDFLAGS} endif diff --git a/libcryptech-pkcs11.map b/libcryptech-pkcs11.map new file mode 100644 index 0000000..11c3036 --- /dev/null +++ b/libcryptech-pkcs11.map @@ -0,0 +1,6 @@ +LIBCRYPTECH_PKCS11_2.0 { + global: + C_*; + local: + *; +}; |