Skip to content

Can't compile AEGIS on linux with clang v22 #227

@Pichas

Description

@Pichas

OS: debian 13
compiler: clang 22.1.1
lib version: v2.3.1 (also tried v2.2.7)

Error message:

[build] In file included from /workspaces/sqlitefs/build/_deps_src/sqlite3mc/e3cc/src/aegis/libaegis.c:62:
[build] /workspaces/sqlitefs/build/_deps_src/sqlite3mc/e3cc/src/aegis/aegis256x4/aegis256x4_avx512.c:27:56: warning: unsupported 'evex512' in the 'target' attribute string; 'target' attribute ignored [-Wignored-attributes]
[build]    27 | #    pragma clang attribute push(__attribute__((target("vaes,avx512f,evex512"))), \
[build]       |                                                        ^
...
[build] /workspaces/sqlitefs/build/_deps_src/sqlite3mc/e3cc/src/aegis/aegis256x4/aegis256x4_avx512.c:98:12: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
[build] /workspaces/sqlitefs/build/_deps_src/sqlite3mc/e3cc/src/aegis/aegis256x4/aegis256x4_avx512.c:61:12: error: always_inline function '_mm512_and_si512' requires target feature 'avx512f', but would be inlined into function 'aegis256_avx512_impl_aes_block_and' that is compiled without support for 'avx512f'
[build]    61 |     return _mm512_and_si512(a, b);
[build]       |            ^
[build] fatal error: too many errors emitted, stopping now [-ferror-limit=]

To fix compilation have to use target_compile_definitions(sqlite3mc PRIVATE WXSQLITE3_HAVE_CIPHER_AEGIS=0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions