Jeffrey Walton noloader@gmail.com writes:
--enable-fat turns on cpu identification and runtime switching. I need that. I need AES. I don't need SHA. It is impossible to get into a good configuration.
I don't think it's worthwhile to add complexity to configure and the fat machinery, and testing thereof, to make it flexible enough for that usecase. In your case, you need it to be able to use an assembler missing support for instructions added to the architecture 7.5 years ago. Are there other usecases where more flexibility would be beneficial?
I might consider it, if someone else wants to do the work, and it turns out it doesn't get too messy.
To get it to work in your setting, I would suggest one of:
(i) Stick to --disable-assembler, to get something that works but is slow (and unfortunately a performance regression since nettle-3.6).
(ii) Upgrade your assembler to a version that recognizes the sha instructions (not sure which assembler you're using, I did ask, when you reported the problem back in January, but I haven't seen an answer). I would be a bit surprised if support for these instructions is still missing in recent releases of Oracle's development tools, if that's what you're using.
Nettle wastes a fair amount our time trying to work through these problems.
To be honest, high performance on the proprietary and somewhat obscure Solaris operating system is not going to be a high priority to me, in particular version 11.3 which is soon officially end of support (January 2024, according to wikipedia, curiously the same date as for the much older Solaris 10). Correctness, which you'd get with --disable-assembler, is considerably more important. I'm willing to help getting Nettle to work on obscure and obsolete systems, as long as the cost in added complexity is small.
Regards, /Niels