On Sat, May 1, 2021 at 6:11 PM Niels Möller nisse@lysator.liu.se wrote:
Is https://git.lysator.liu.se/nettle/nettle/-/merge_requests/23 still the current code?
I've added the basic AES-192 and AES-256 too since there is no problem to test them all together.
For the other the modes, I don't think we can continue with the file-override basis to handle the optimized cores, if we take ccm-aes128.c as example you will see it has 8 functions, separating them in one file each is overkill so my approach to handle such case is to redefine the function name of C file to not conflict with the name of optimized core in case the optimized core is exit, this tricks is also used to support fat build for functions because we need to keep the two functions (C and optimized core) around to be picked at run-time. So redefining the function name will avoid the conflict with the optimized core and it's the first step to support fat build for that function, take a look how I implemented this approach in ccm-aes128.c file https://git.lysator.liu.se/mamonet/nettle/-/blob/s390x-aes/ccm-aes128.c#L52ccm-aes128.c · s390x-aes · Maamoun TK / nettle · GitLab (liu.se) https://git.lysator.liu.se/mamonet/nettle/-/blob/s390x-aes/ccm-aes128.c#L48-53
https://git.lysator.liu.se/mamonet/nettle/-/blob/s390x-aes/ccm-aes128.c#L52 regards, Mamone https://git.lysator.liu.se/mamonet/nettle/-/blob/s390x-aes/ccm-aes128.c#L52