Den onsdag 16 oktober 2024 kl. 08:43:03 CEST, Simon Josefsson 
<si...@josefsson.org> skrev: 

> Pádraig Brady <p...@draigbrady.com> writes:
>
>
> >  In general gnulib focuses on portable routines, so for example leaves
> > platform specific crypto optimizations to libcrypto, only providing fallback
> > cross platform implementations where needed.
> 
>
> OpenSSL libcrypto doesn't provide CRC, does it?
>
> I agree with what you say, but I think in this example, I think it makes
> sense for gnulib to provide a optimized CRC function that may contain
> architecture-specific optimizations.  The reason seems to be that while
> there are numerous different optimized implementations around, few seems
> to be arranged in a re-usable fashion.
> 
> The barrier for acceptance in gnulib may be higher than in some
> individual projects since gnulib is intended to be highly portable and
> flexible, and this requires extra care when doing the implementation.
> But there are examples of arch-specific assembler code in gnulib
> already.
>
> There are some earlier efforts related to CRC for gzip which may be
> useful to re-read:
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67022
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39831
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41535
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72588
>
> /Simon

Which CRC version did you plan to put into gnulib by the way? There are many 
different polynomials in use. CRC32 and CRC32C for instance use different 
polynomials. I don't remember which polynomial the routine in cksum used, but I 
think it was CRC32, but I seem to remember there was something special with the 
polynomial that forced you byteswap the data.

/Kristoffer

Reply via email to