Browse Source

[Fix] Relax alignment requirements

Issue: #2222
tags/1.7.6
Vsevolod Stakhov 6 years ago
parent
commit
6f80cd3299
2 changed files with 4 additions and 4 deletions
  1. 2
    2
      contrib/t1ha/t1ha.h
  2. 2
    2
      src/libcryptobox/cryptobox.h

+ 2
- 2
contrib/t1ha/t1ha.h View File

@@ -218,14 +218,14 @@
#endif /* T1HA_API */

#if defined(_MSC_VER)
#define T1HA_ALIGN_PREFIX __declspec(align(32)) /* required only for SIMD */
#define T1HA_ALIGN_PREFIX __declspec(align(16)) /* required only for SIMD */
#else
#define T1HA_ALIGN_PREFIX
#endif /* _MSC_VER */

#if defined(__GNUC__)
#define T1HA_ALIGN_SUFFIX \
__attribute__((aligned(32))) /* required only for SIMD */
__attribute__((aligned(16))) /* required only for SIMD */
#else
#define T1HA_ALIGN_SUFFIX
#endif /* GCC x86 */

+ 2
- 2
src/libcryptobox/cryptobox.h View File

@@ -312,7 +312,7 @@ guint rspamd_cryptobox_mac_bytes (enum rspamd_cryptobox_mode mode);
guint rspamd_cryptobox_signature_bytes (enum rspamd_cryptobox_mode mode);

/* Hash IUF interface */
typedef struct RSPAMD_ALIGNED(32) rspamd_cryptobox_hash_state_s {
typedef struct RSPAMD_ALIGNED(16) rspamd_cryptobox_hash_state_s {
unsigned char opaque[256];
} rspamd_cryptobox_hash_state_t;

@@ -343,7 +343,7 @@ void rspamd_cryptobox_hash (guchar *out,
gsize keylen);

/* Non crypto hash IUF interface */
typedef struct RSPAMD_ALIGNED(32) rspamd_cryptobox_fast_hash_state_s {
typedef struct RSPAMD_ALIGNED(16) rspamd_cryptobox_fast_hash_state_s {
unsigned char opaque[64 + sizeof (size_t) + sizeof (uint64_t)];
} rspamd_cryptobox_fast_hash_state_t;


Loading…
Cancel
Save