I vote for option (3). 2nd preference - (2).

> On Oct 25, 2015, at 7:33 , Jeffrey Walton <noloa...@gmail.com> wrote:
> 
> It looks like the GCC compiler is broken for RDSEED on Cygwin and MinGW 
> (RDRAND gear is fine). Here's a test under Cygwin-X86. Cygwin-X64 produced a 
> similar error
> 
>     g++ -DNDEBUG -g2 -O3 -maes -msse4 -msse3 -msse2 -mrdrnd -mrdseed -Wall 
> -march=native -c rdrand.cpp
>     rdrand.cpp: In function ‘int CryptoPP::GCC_RSI_GenerateBlock(byte*, 
> size_t, unsigned int)’:
>     rdrand.cpp:616:51: error: ‘__builtin_ia32_rdseed32_step’ was not declared 
> in this scope
>        if (__builtin_ia32_rdseed32_step((word32*)output))
>                                                    ^
>     rdrand.cpp:634:40: error: ‘__builtin_ia32_rdseed32_step’ was not declared 
> in this scope
>        if (__builtin_ia32_rdseed32_step(&val))
>                                         ^
>     GNUmakefile:414: recipe for target 'rdrand.o' failed
>     make: *** [rdrand.o] Error 1
> 
> As far as I know, __builtin_ia32_rdseed{16|32|64}_step are the only functions 
> semi-documented by GCC. Confer, 
> https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html. Everything 
> else is undocumented (counter examples are welcomed).
> 
> JPM wanted RDSEED, and I think we should provide it. We have to decide what 
> to do here.
> 
> I think the options are:
> 
>   (1) Remove RDSEED completely until GCC provides full support
>   (2) Disable RDSEED for the Unix on Windows gear until GCC provides full 
> support
>   (3) Provide an ASM implementation that always "just works"
> 
> What is the course of action we should take?
> 
> Jeff
> 
> 
> -- 
> -- 
> You received this message because you are subscribed to the "Crypto++ Users" 
> Google Group.
> To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
> More information about Crypto++ and this group is available at 
> http://www.cryptopp.com <http://www.cryptopp.com/>.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Crypto++ Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to cryptopp-users+unsubscr...@googlegroups.com 
> <mailto:cryptopp-users+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com.
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cryptopp-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to