diff --git a/dev-libs/openssl/patches/openssl-1.1.0~git.patchset b/dev-libs/openssl/patches/openssl-1.1.0~git.patchset index c376a5d72..6674b58b5 100644 --- a/dev-libs/openssl/patches/openssl-1.1.0~git.patchset +++ b/dev-libs/openssl/patches/openssl-1.1.0~git.patchset @@ -1,12 +1,13 @@ -From c91c4ffe3e4d9136323d7c374ea8ea8478402abe Mon Sep 17 00:00:00 2001 +From ab6cfb3fc199def74412bc5460f4902d750cf561 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Tue, 2 Feb 2016 22:45:09 +0000 Subject: Haiku: add support. * build fixes. +* we don't have mlock(), disable mem_sec. diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf -index e1c25c0..2dd695f 100644 +index e1c25c0..bb3932c 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1522,5 +1522,32 @@ @@ -16,13 +17,12 @@ index e1c25c0..2dd695f 100644 + "haiku-common" => { + template => 1, + cc => "cc", -+ cflags => "", ++ cflags => "-DL_ENDIAN -Wall", + debug_cflags => "-g -O0", -+ release_cflags => "-O2 -fomit-frame-pointer ", ++ release_cflags => "-O2", + thread_cflag => "-D_REENTRANT", + sys_id => "HAIKU", + lflags => "-lnetwork", -+ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + perlasm_scheme => "elf", + dso_scheme => "dlfcn", + shared_target => "haiku-shared", @@ -32,15 +32,16 @@ index e1c25c0..2dd695f 100644 + }, + "haiku-x86" => { + inherit_from => [ "haiku-common", asm("x86_elf_asm") ], -+ cflags => "-DL_ENDIAN -Wall", ++ release_cflags => add(" ", "-fomit-frame-pointer"), + bn_ops => "BN_LLONG", + }, + "haiku-x86_64" => { + inherit_from => [ "haiku-common", asm("x86_64_asm") ], -+ cflags => "-m64 -DL_ENDIAN -Wall -DMD32_REG_T=int", ++ cflags => add(" ", "-m64"), ++ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + }, + - + ); diff --git a/Makefile.shared b/Makefile.shared index 0ff1a76..7f6789f 100644 @@ -48,7 +49,7 @@ index 0ff1a76..7f6789f 100644 +++ b/Makefile.shared @@ -576,10 +576,10 @@ symlink.hpux: symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath: - + # Compatibility targets -link_o.bsd-gcc-shared link_o.linux-shared link_o.gnu-shared: link_o.gnu -link_a.bsd-gcc-shared link_a.gnu-shared: link_a.gnu @@ -62,13 +63,13 @@ index 0ff1a76..7f6789f 100644 link_a.bsd-shared: link_a.bsd link_app.bsd-shared: link_app.bsd diff --git a/config b/config -index a70e3a2..a9f5f1f 100755 +index a70e3a2..05e7928 100755 --- a/config +++ b/config @@ -202,6 +202,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in echo "${MACHINE}-whatever-freebsd"; exit 0 ;; - + + Haiku:*) + echo "${MACHINE}-whatever-haiku"; exit 0 + ;; @@ -83,20 +84,20 @@ index a70e3a2..a9f5f1f 100755 + x86_64-*-haiku) OUT="haiku-x86_64" ;; + *-*-haiku) OUT="haiku-x86" ;; *-*-*bsd*) OUT="BSD-generic32" ;; - + *-*-osf) OUT="osf1-alpha-cc" ;; diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c index 6dca267..06c24b7 100644 --- a/crypto/evp/e_aes_cbc_hmac_sha1.c +++ b/crypto/evp/e_aes_cbc_hmac_sha1.c @@ -92,8 +92,7 @@ typedef struct { - + # if defined(AES_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ - defined(_M_AMD64) || defined(_M_X64) || \ - defined(__INTEL__) ) + defined(_M_AMD64) || defined(_M_X64) ) - + extern unsigned int OPENSSL_ia32cap_P[]; # define AESNI_CAPABLE (1<<(57-32)) diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c @@ -104,13 +105,13 @@ index f55a5a0..184ef26 100644 --- a/crypto/evp/e_aes_cbc_hmac_sha256.c +++ b/crypto/evp/e_aes_cbc_hmac_sha256.c @@ -92,8 +92,7 @@ typedef struct { - + # if defined(AES_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ - defined(_M_AMD64) || defined(_M_X64) || \ - defined(__INTEL__) ) + defined(_M_AMD64) || defined(_M_X64) ) - + extern unsigned int OPENSSL_ia32cap_P[]; # define AESNI_CAPABLE (1<<(57-32)) diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c @@ -118,7 +119,7 @@ index 05596e4..b8f40ca 100644 --- a/crypto/evp/e_rc4_hmac_md5.c +++ b/crypto/evp/e_rc4_hmac_md5.c @@ -102,8 +102,7 @@ static int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx, - + # if !defined(OPENSSL_NO_ASM) && ( \ defined(__x86_64) || defined(__x86_64__) || \ - defined(_M_AMD64) || defined(_M_X64) || \ @@ -126,7 +127,7 @@ index 05596e4..b8f40ca 100644 + defined(_M_AMD64) || defined(_M_X64) ) # define STITCHED_CALL # endif - + diff --git a/crypto/include/internal/cryptlib.h b/crypto/include/internal/cryptlib.h index 9e620e6..18d1065 100644 --- a/crypto/include/internal/cryptlib.h @@ -140,6 +141,22 @@ index 9e620e6..18d1065 100644 # define X509_PRIVATE_DIR OPENSSLDIR "/private" # else # define X509_CERT_AREA "SSLROOT:[000000]" +diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c +index 6760cf4..cdb64a5 100644 +--- a/crypto/mem_sec.c ++++ b/crypto/mem_sec.c +@@ -14,7 +14,10 @@ + #include + + #if defined(OPENSSL_SYS_LINUX) || defined(OPENSSL_SYS_UNIX) +-# define IMPLEMENTED ++/* Haiku doesn't have mlock() */ ++# ifndef OPENSSL_SYS_HAIKU ++# define IMPLEMENTED ++# endif + # include + # include + # include diff --git a/e_os.h b/e_os.h index 9b9bb4f..ef6fe23 100644 --- a/e_os.h @@ -147,7 +164,7 @@ index 9b9bb4f..ef6fe23 100644 @@ -656,6 +656,13 @@ struct servent *getservbyname(const char *name, const char *proto); # endif /* end vxworks */ - + +/* haiku */ +# if defined(OPENSSL_SYS_HAIKU) +# include @@ -156,8 +173,8 @@ index 9b9bb4f..ef6fe23 100644 +/* end haiku */ + #define OSSL_NELEM(x) (sizeof(x)/sizeof(x[0])) - + #ifdef __cplusplus --- +-- 2.2.2