diff options
| author | beck <> | 2022-11-11 11:25:18 +0000 |
|---|---|---|
| committer | beck <> | 2022-11-11 11:25:18 +0000 |
| commit | 83e73dadd90af52585df1bcce4e5b84da25fe19e (patch) | |
| tree | ed6caa2922a04c9566669564e9dda8a563bf522a /src/lib/libcrypto/Makefile | |
| parent | 522ea7abc19e814a672474a8f25f67f470ceb772 (diff) | |
| download | openbsd-83e73dadd90af52585df1bcce4e5b84da25fe19e.tar.gz openbsd-83e73dadd90af52585df1bcce4e5b84da25fe19e.tar.bz2 openbsd-83e73dadd90af52585df1bcce4e5b84da25fe19e.zip | |
Add support for symbol hiding disabled by default.
Fully explained in libcrypto/README. TL;DR make sure libcrypto
and libssl's function calls internally and to each other are via
symbol names that won't get overridden by linking other libraries.
Mostly work by guenther@, which will currently be gated behind a
build setting NAMESPACE=yes. once we convert all the symbols to
this method we will do a major bump and pick up the changes.
ok tb@ jsing@
Diffstat (limited to 'src/lib/libcrypto/Makefile')
| -rw-r--r-- | src/lib/libcrypto/Makefile | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/libcrypto/Makefile b/src/lib/libcrypto/Makefile index ffcdc7dabb..3f5342a72f 100644 --- a/src/lib/libcrypto/Makefile +++ b/src/lib/libcrypto/Makefile | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # $OpenBSD: Makefile,v 1.87 2022/11/10 17:53:45 joshua Exp $ | 1 | # $OpenBSD: Makefile,v 1.88 2022/11/11 11:25:18 beck Exp $ |
| 2 | 2 | ||
| 3 | LIB= crypto | 3 | LIB= crypto |
| 4 | LIBREBUILD=y | 4 | LIBREBUILD=y |
| @@ -19,6 +19,10 @@ CFLAGS+= -Wall -Wundef | |||
| 19 | CFLAGS+= -Werror | 19 | CFLAGS+= -Werror |
| 20 | .endif | 20 | .endif |
| 21 | CFLAGS+= -DLIBRESSL_INTERNAL -DLIBRESSL_CRYPTO_INTERNAL | 21 | CFLAGS+= -DLIBRESSL_INTERNAL -DLIBRESSL_CRYPTO_INTERNAL |
| 22 | .ifdef NAMESPACE | ||
| 23 | CFLAGS+= -DLIBRESSL_NAMESPACE -DLIBRESSL_CRYPTO_NAMESPACE | ||
| 24 | .endif | ||
| 25 | |||
| 22 | 26 | ||
| 23 | .if !defined(NOPIC) | 27 | .if !defined(NOPIC) |
| 24 | CFLAGS+= -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_FUNOPEN | 28 | CFLAGS+= -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_FUNOPEN |
| @@ -40,6 +44,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/ec | |||
| 40 | CFLAGS+= -I${LCRYPTO_SRC}/ecdh | 44 | CFLAGS+= -I${LCRYPTO_SRC}/ecdh |
| 41 | CFLAGS+= -I${LCRYPTO_SRC}/ecdsa | 45 | CFLAGS+= -I${LCRYPTO_SRC}/ecdsa |
| 42 | CFLAGS+= -I${LCRYPTO_SRC}/evp | 46 | CFLAGS+= -I${LCRYPTO_SRC}/evp |
| 47 | CFLAGS+= -I${LCRYPTO_SRC}/hidden | ||
| 43 | CFLAGS+= -I${LCRYPTO_SRC}/hmac | 48 | CFLAGS+= -I${LCRYPTO_SRC}/hmac |
| 44 | CFLAGS+= -I${LCRYPTO_SRC}/kdf | 49 | CFLAGS+= -I${LCRYPTO_SRC}/kdf |
| 45 | CFLAGS+= -I${LCRYPTO_SRC}/modes | 50 | CFLAGS+= -I${LCRYPTO_SRC}/modes |
| @@ -51,6 +56,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/x509 | |||
| 51 | 56 | ||
| 52 | VERSION_SCRIPT= Symbols.map | 57 | VERSION_SCRIPT= Symbols.map |
| 53 | SYMBOL_LIST= ${.CURDIR}/Symbols.list | 58 | SYMBOL_LIST= ${.CURDIR}/Symbols.list |
| 59 | SYMBOL_NAMESPACE= ${.CURDIR}/Symbols.namespace | ||
| 54 | 60 | ||
| 55 | # crypto/ | 61 | # crypto/ |
| 56 | SRCS+= cpt_err.c | 62 | SRCS+= cpt_err.c |
| @@ -875,11 +881,18 @@ includes: prereq | |||
| 875 | echo $$j; \ | 881 | echo $$j; \ |
| 876 | eval "$$j"; \ | 882 | eval "$$j"; \ |
| 877 | done; | 883 | done; |
| 878 | 884 | .ifdef NAMESPACE | |
| 885 | ${VERSION_SCRIPT}: ${SYMBOL_LIST} ${SYMBOL_NAMESPACE} | ||
| 886 | { printf '{\n\tglobal:\n'; \ | ||
| 887 | sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_NAMESPACE}; \ | ||
| 888 | sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ | ||
| 889 | printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ | ||
| 890 | .else | ||
| 879 | ${VERSION_SCRIPT}: ${SYMBOL_LIST} | 891 | ${VERSION_SCRIPT}: ${SYMBOL_LIST} |
| 880 | { printf '{\n\tglobal:\n'; \ | 892 | { printf '{\n\tglobal:\n'; \ |
| 881 | sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ | 893 | sed '/^[._a-zA-Z]/s/$$/;/; s/^/ /' ${SYMBOL_LIST}; \ |
| 882 | printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ | 894 | printf '\n\tlocal:\n\t\t*;\n};\n'; } >$@.tmp && mv $@.tmp $@ |
| 895 | .endif | ||
| 883 | 896 | ||
| 884 | # generated | 897 | # generated |
| 885 | CFLAGS+= -I${.OBJDIR} | 898 | CFLAGS+= -I${.OBJDIR} |
