diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/CMakeLists.txt | 4 | ||||
-rw-r--r-- | include/arch/loongarch64/opensslconf.h | 154 | ||||
-rw-r--r-- | include/arch/mips/opensslconf.h | 22 | ||||
-rw-r--r-- | include/compat/endian.h | 8 | ||||
-rw-r--r-- | include/compat/stdio.h | 12 | ||||
-rw-r--r-- | include/compat/sys/stat.h | 8 | ||||
-rw-r--r-- | include/compat/sys/time.h | 9 | ||||
-rw-r--r-- | include/openssl/Makefile.am.tpl | 3 |
8 files changed, 207 insertions, 13 deletions
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 9d015cd..11ab7c2 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt | |||
@@ -24,6 +24,8 @@ elseif(HOST_ARM) | |||
24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) | 24 | file(READ arch/arm/opensslconf.h OPENSSLCONF) |
25 | elseif(HOST_I386) | 25 | elseif(HOST_I386) |
26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) | 26 | file(READ arch/i386/opensslconf.h OPENSSLCONF) |
27 | elseif(HOST_LOONGARCH64) | ||
28 | file(READ arch/loongarch64/opensslconf.h OPENSSLCONF) | ||
27 | elseif(HOST_MIPS) | 29 | elseif(HOST_MIPS) |
28 | file(READ arch/mips/opensslconf.h OPENSSLCONF) | 30 | file(READ arch/mips/opensslconf.h OPENSSLCONF) |
29 | elseif(HOST_MIPS64) | 31 | elseif(HOST_MIPS64) |
@@ -38,5 +40,7 @@ elseif(HOST_SPARC64) | |||
38 | file(READ arch/sparc64/opensslconf.h OPENSSLCONF) | 40 | file(READ arch/sparc64/opensslconf.h OPENSSLCONF) |
39 | elseif(HOST_X86_64) | 41 | elseif(HOST_X86_64) |
40 | file(READ arch/amd64/opensslconf.h OPENSSLCONF) | 42 | file(READ arch/amd64/opensslconf.h OPENSSLCONF) |
43 | else() | ||
44 | message(FATAL_ERROR "Architecture not supported") | ||
41 | endif() | 45 | endif() |
42 | file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}") | 46 | file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}") |
diff --git a/include/arch/loongarch64/opensslconf.h b/include/arch/loongarch64/opensslconf.h new file mode 100644 index 0000000..731b06a --- /dev/null +++ b/include/arch/loongarch64/opensslconf.h | |||
@@ -0,0 +1,154 @@ | |||
1 | #include <openssl/opensslfeatures.h> | ||
2 | /* crypto/opensslconf.h.in */ | ||
3 | |||
4 | #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) | ||
5 | #define OPENSSLDIR "/etc/ssl" | ||
6 | #endif | ||
7 | |||
8 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION | ||
9 | |||
10 | #ifndef OPENSSL_FILE | ||
11 | #ifdef OPENSSL_NO_FILENAMES | ||
12 | #define OPENSSL_FILE "" | ||
13 | #define OPENSSL_LINE 0 | ||
14 | #else | ||
15 | #define OPENSSL_FILE __FILE__ | ||
16 | #define OPENSSL_LINE __LINE__ | ||
17 | #endif | ||
18 | #endif | ||
19 | |||
20 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | ||
21 | #define IDEA_INT unsigned int | ||
22 | #endif | ||
23 | |||
24 | #if defined(HEADER_MD2_H) && !defined(MD2_INT) | ||
25 | #define MD2_INT unsigned int | ||
26 | #endif | ||
27 | |||
28 | #if defined(HEADER_RC2_H) && !defined(RC2_INT) | ||
29 | /* I need to put in a mod for the alpha - eay */ | ||
30 | #define RC2_INT unsigned int | ||
31 | #endif | ||
32 | |||
33 | #if defined(HEADER_RC4_H) | ||
34 | #if !defined(RC4_INT) | ||
35 | /* using int types make the structure larger but make the code faster | ||
36 | * on most boxes I have tested - up to %20 faster. */ | ||
37 | /* | ||
38 | * I don't know what does "most" mean, but declaring "int" is a must on: | ||
39 | * - Intel P6 because partial register stalls are very expensive; | ||
40 | * - elder Alpha because it lacks byte load/store instructions; | ||
41 | */ | ||
42 | #define RC4_INT unsigned int | ||
43 | #endif | ||
44 | #if !defined(RC4_CHUNK) | ||
45 | /* | ||
46 | * This enables code handling data aligned at natural CPU word | ||
47 | * boundary. See crypto/rc4/rc4_enc.c for further details. | ||
48 | */ | ||
49 | #define RC4_CHUNK unsigned long | ||
50 | #endif | ||
51 | #endif | ||
52 | |||
53 | #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) | ||
54 | /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a | ||
55 | * %20 speed up (longs are 8 bytes, int's are 4). */ | ||
56 | #ifndef DES_LONG | ||
57 | #define DES_LONG unsigned int | ||
58 | #endif | ||
59 | #endif | ||
60 | |||
61 | #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) | ||
62 | #define CONFIG_HEADER_BN_H | ||
63 | #undef BN_LLONG | ||
64 | |||
65 | /* Should we define BN_DIV2W here? */ | ||
66 | |||
67 | /* Only one for the following should be defined */ | ||
68 | /* The prime number generation stuff may not work when | ||
69 | * EIGHT_BIT but I don't care since I've only used this mode | ||
70 | * for debugging the bignum libraries */ | ||
71 | #define SIXTY_FOUR_BIT_LONG | ||
72 | #undef SIXTY_FOUR_BIT | ||
73 | #undef THIRTY_TWO_BIT | ||
74 | #undef SIXTEEN_BIT | ||
75 | #undef EIGHT_BIT | ||
76 | #endif | ||
77 | |||
78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | ||
79 | #define CONFIG_HEADER_BF_LOCL_H | ||
80 | #undef BF_PTR | ||
81 | #endif /* HEADER_BF_LOCL_H */ | ||
82 | |||
83 | #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) | ||
84 | #define CONFIG_HEADER_DES_LOCL_H | ||
85 | #ifndef DES_DEFAULT_OPTIONS | ||
86 | /* the following is tweaked from a config script, that is why it is a | ||
87 | * protected undef/define */ | ||
88 | #ifndef DES_PTR | ||
89 | #undef DES_PTR | ||
90 | #endif | ||
91 | |||
92 | /* This helps C compiler generate the correct code for multiple functional | ||
93 | * units. It reduces register dependencies at the expense of 2 more | ||
94 | * registers */ | ||
95 | #ifndef DES_RISC1 | ||
96 | #undef DES_RISC1 | ||
97 | #endif | ||
98 | |||
99 | #ifndef DES_RISC2 | ||
100 | #undef DES_RISC2 | ||
101 | #endif | ||
102 | |||
103 | #if defined(DES_RISC1) && defined(DES_RISC2) | ||
104 | YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! | ||
105 | #endif | ||
106 | |||
107 | /* Unroll the inner loop, this sometimes helps, sometimes hinders. | ||
108 | * Very much CPU dependent */ | ||
109 | #ifndef DES_UNROLL | ||
110 | #define DES_UNROLL | ||
111 | #endif | ||
112 | |||
113 | /* These default values were supplied by | ||
114 | * Peter Gutman <pgut001@cs.auckland.ac.nz> | ||
115 | * They are only used if nothing else has been defined */ | ||
116 | #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) | ||
117 | /* Special defines which change the way the code is built depending on the | ||
118 | CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find | ||
119 | even newer MIPS CPU's, but at the moment one size fits all for | ||
120 | optimization options. Older Sparc's work better with only UNROLL, but | ||
121 | there's no way to tell at compile time what it is you're running on */ | ||
122 | |||
123 | #if defined( sun ) /* Newer Sparc's */ | ||
124 | # define DES_PTR | ||
125 | # define DES_RISC1 | ||
126 | # define DES_UNROLL | ||
127 | #elif defined( __ultrix ) /* Older MIPS */ | ||
128 | # define DES_PTR | ||
129 | # define DES_RISC2 | ||
130 | # define DES_UNROLL | ||
131 | #elif defined( __osf1__ ) /* Alpha */ | ||
132 | # define DES_PTR | ||
133 | # define DES_RISC2 | ||
134 | #elif defined ( _AIX ) /* RS6000 */ | ||
135 | /* Unknown */ | ||
136 | #elif defined( __hpux ) /* HP-PA */ | ||
137 | /* Unknown */ | ||
138 | #elif defined( __aux ) /* 68K */ | ||
139 | /* Unknown */ | ||
140 | #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ | ||
141 | # define DES_UNROLL | ||
142 | #elif defined( __sgi ) /* Newer MIPS */ | ||
143 | # define DES_PTR | ||
144 | # define DES_RISC2 | ||
145 | # define DES_UNROLL | ||
146 | #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ | ||
147 | # define DES_PTR | ||
148 | # define DES_RISC1 | ||
149 | # define DES_UNROLL | ||
150 | #endif /* Systems-specific speed defines */ | ||
151 | #endif | ||
152 | |||
153 | #endif /* DES_DEFAULT_OPTIONS */ | ||
154 | #endif /* HEADER_DES_LOCL_H */ | ||
diff --git a/include/arch/mips/opensslconf.h b/include/arch/mips/opensslconf.h index f17d3d2..a5d26b6 100644 --- a/include/arch/mips/opensslconf.h +++ b/include/arch/mips/opensslconf.h | |||
@@ -1,15 +1,22 @@ | |||
1 | #include <openssl/opensslfeatures.h> | 1 | #include <openssl/opensslfeatures.h> |
2 | /* crypto/opensslconf.h.in */ | 2 | /* crypto/opensslconf.h.in */ |
3 | 3 | ||
4 | #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) | 4 | #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR) |
5 | #define OPENSSLDIR "/etc/ssl" | 5 | #define OPENSSLDIR "/etc/ssl" |
6 | #endif | 6 | #endif |
7 | 7 | ||
8 | #undef OPENSSL_UNISTD | ||
9 | #define OPENSSL_UNISTD <unistd.h> | ||
10 | |||
11 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION | 8 | #undef OPENSSL_EXPORT_VAR_AS_FUNCTION |
12 | 9 | ||
10 | #ifndef OPENSSL_FILE | ||
11 | #ifdef OPENSSL_NO_FILENAMES | ||
12 | #define OPENSSL_FILE "" | ||
13 | #define OPENSSL_LINE 0 | ||
14 | #else | ||
15 | #define OPENSSL_FILE __FILE__ | ||
16 | #define OPENSSL_LINE __LINE__ | ||
17 | #endif | ||
18 | #endif | ||
19 | |||
13 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | 20 | #if defined(HEADER_IDEA_H) && !defined(IDEA_INT) |
14 | #define IDEA_INT unsigned int | 21 | #define IDEA_INT unsigned int |
15 | #endif | 22 | #endif |
@@ -68,13 +75,6 @@ | |||
68 | #undef EIGHT_BIT | 75 | #undef EIGHT_BIT |
69 | #endif | 76 | #endif |
70 | 77 | ||
71 | #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) | ||
72 | #define CONFIG_HEADER_RC4_LOCL_H | ||
73 | /* if this is defined data[i] is used instead of *data, this is a %20 | ||
74 | * speedup on x86 */ | ||
75 | #define RC4_INDEX | ||
76 | #endif | ||
77 | |||
78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | 78 | #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) |
79 | #define CONFIG_HEADER_BF_LOCL_H | 79 | #define CONFIG_HEADER_BF_LOCL_H |
80 | #undef BF_PTR | 80 | #undef BF_PTR |
diff --git a/include/compat/endian.h b/include/compat/endian.h index 5376c1a..af3664d 100644 --- a/include/compat/endian.h +++ b/include/compat/endian.h | |||
@@ -62,7 +62,7 @@ | |||
62 | #endif | 62 | #endif |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | #if defined(__APPLE__) && !defined(HAVE_ENDIAN_H) | 65 | #if defined(__APPLE__) |
66 | #include <libkern/OSByteOrder.h> | 66 | #include <libkern/OSByteOrder.h> |
67 | #define be16toh(x) OSSwapBigToHostInt16((x)) | 67 | #define be16toh(x) OSSwapBigToHostInt16((x)) |
68 | #define htobe16(x) OSSwapHostToBigInt16((x)) | 68 | #define htobe16(x) OSSwapHostToBigInt16((x)) |
@@ -74,7 +74,7 @@ | |||
74 | #define htobe64(x) OSSwapHostToBigInt64(x) | 74 | #define htobe64(x) OSSwapHostToBigInt64(x) |
75 | #define le64toh(x) OSSwapLittleToHostInt64(x) | 75 | #define le64toh(x) OSSwapLittleToHostInt64(x) |
76 | #define be64toh(x) OSSwapBigToHostInt64(x) | 76 | #define be64toh(x) OSSwapBigToHostInt64(x) |
77 | #endif /* __APPLE__ && !HAVE_ENDIAN_H */ | 77 | #endif /* __APPLE__ */ |
78 | 78 | ||
79 | #if defined(_WIN32) && !defined(HAVE_ENDIAN_H) | 79 | #if defined(_WIN32) && !defined(HAVE_ENDIAN_H) |
80 | #include <winsock2.h> | 80 | #include <winsock2.h> |
@@ -101,6 +101,8 @@ | |||
101 | #endif | 101 | #endif |
102 | 102 | ||
103 | #define htobe64(x) ntohll((x)) | 103 | #define htobe64(x) ntohll((x)) |
104 | #define htole64(x) (x) | ||
105 | #define le64toh(x) (x) | ||
104 | #endif /* _WIN32 && !HAVE_ENDIAN_H */ | 106 | #endif /* _WIN32 && !HAVE_ENDIAN_H */ |
105 | 107 | ||
106 | #ifdef __linux__ | 108 | #ifdef __linux__ |
@@ -151,6 +153,8 @@ | |||
151 | #define htole32(x) LE_32(x) | 153 | #define htole32(x) LE_32(x) |
152 | #define htobe32(x) BE_32(x) | 154 | #define htobe32(x) BE_32(x) |
153 | #define be64toh(x) BE_64(x) | 155 | #define be64toh(x) BE_64(x) |
156 | #define le64toh(x) LE_64(x) | ||
157 | #define htole64(x) LE_64(x) | ||
154 | #define htobe64(x) BE_64(x) | 158 | #define htobe64(x) BE_64(x) |
155 | #endif | 159 | #endif |
156 | 160 | ||
diff --git a/include/compat/stdio.h b/include/compat/stdio.h index 2af8f3e..2ccdeeb 100644 --- a/include/compat/stdio.h +++ b/include/compat/stdio.h | |||
@@ -18,6 +18,18 @@ | |||
18 | #include_next <stdio.h> | 18 | #include_next <stdio.h> |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #ifndef HAVE_GETDELIM | ||
22 | #include <sys/types.h> | ||
23 | #define getdelim libressl_getdelim | ||
24 | ssize_t getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp); | ||
25 | #endif | ||
26 | |||
27 | #ifndef HAVE_GETLINE | ||
28 | #include <sys/types.h> | ||
29 | #define getline libressl_getline | ||
30 | ssize_t getline(char **buf, size_t *bufsiz, FILE *fp); | ||
31 | #endif | ||
32 | |||
21 | #ifndef HAVE_ASPRINTF | 33 | #ifndef HAVE_ASPRINTF |
22 | #include <stdarg.h> | 34 | #include <stdarg.h> |
23 | #define vasprintf libressl_vasprintf | 35 | #define vasprintf libressl_vasprintf |
diff --git a/include/compat/sys/stat.h b/include/compat/sys/stat.h index b88da1d..57aa521 100644 --- a/include/compat/sys/stat.h +++ b/include/compat/sys/stat.h | |||
@@ -118,4 +118,12 @@ | |||
118 | 118 | ||
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #ifdef _WIN32 | ||
122 | int libressl_fstat(int fd, struct stat *statbuf); | ||
123 | |||
124 | #ifndef NO_REDEF_POSIX_FUNCTIONS | ||
125 | #define fstat(fd, statbuf) libressl_fstat(fd, statbuf) | ||
126 | #endif | ||
127 | #endif | ||
128 | |||
121 | #endif | 129 | #endif |
diff --git a/include/compat/sys/time.h b/include/compat/sys/time.h index 76428c1..2448969 100644 --- a/include/compat/sys/time.h +++ b/include/compat/sys/time.h | |||
@@ -8,6 +8,15 @@ | |||
8 | 8 | ||
9 | #ifdef _MSC_VER | 9 | #ifdef _MSC_VER |
10 | #include <winsock2.h> | 10 | #include <winsock2.h> |
11 | |||
12 | #define timeval libressl_timeval | ||
13 | #define gettimeofday libressl_gettimeofday | ||
14 | |||
15 | struct timeval { | ||
16 | long long tv_sec; | ||
17 | long tv_usec; | ||
18 | }; | ||
19 | |||
11 | int gettimeofday(struct timeval *tp, void *tzp); | 20 | int gettimeofday(struct timeval *tp, void *tzp); |
12 | #else | 21 | #else |
13 | #include_next <sys/time.h> | 22 | #include_next <sys/time.h> |
diff --git a/include/openssl/Makefile.am.tpl b/include/openssl/Makefile.am.tpl index 303d0b9..4bbbd60 100644 --- a/include/openssl/Makefile.am.tpl +++ b/include/openssl/Makefile.am.tpl | |||
@@ -17,6 +17,9 @@ endif | |||
17 | if HOST_I386 | 17 | if HOST_I386 |
18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h | 18 | -cp $(top_srcdir)/include/arch/i386/opensslconf.h opensslconf.h |
19 | endif | 19 | endif |
20 | if HOST_LOONGARCH64 | ||
21 | -cp $(top_srcdir)/include/arch/loongarch64/opensslconf.h opensslconf.h | ||
22 | endif | ||
20 | if HOST_MIPS | 23 | if HOST_MIPS |
21 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h | 24 | -cp $(top_srcdir)/include/arch/mips/opensslconf.h opensslconf.h |
22 | endif | 25 | endif |