Corinna Vinschen via Cygwin wrote:
On Mar 13 08:59, Christian Franke via Cygwin wrote:
Problem introduced in a8891c93:
$ cygcheck -f /usr/include/stdlib.h
cygwin-devel-3.6.0-0.430.ga942476236b5
$ cygcheck -f /usr/include/bsd/stdlib.h
libbsd-devel-0.12.2-2
$ gcc -c -xc - <<<'#include <bsd/stdlib.h>'
In file included from <stdin>:1:
/usr/include/bsd/stdlib.h:62:26: error: macro "arc4random_stir" passed 1
arguments, but takes just 0
62 | void arc4random_stir(void);
| ^
In file included from /usr/include/stdlib.h:26,
from /usr/include/bsd/stdlib.h:32:
/usr/include/cygwin/stdlib.h:26: note: macro "arc4random_stir" defined here
26 | #define arc4random_stir()
Should work again with cygwin-3.6.0-0.431.gad29c33229e5
This fixes the problem, thanks.
There are possibly still inconsistencies:
$ gcc -E -xc - <<<'#include <stdlib.h>' | grep arc4random_stir
void arc4random_stir(void);
$ gcc -E -xc - <<<'#include <bsd/stdlib.h>' | grep arc4random_stir
void arc4random_stir(void); // from cygwin/stdlib.h
void arc4random_stir(void); // from bsd/stdlib.h
$ gcc -E -xc - <<<'#include <stdlib.h>' | grep arc4random_addrandom
$ gcc -E -xc - <<<'#include <bsd/stdlib.h>' | grep arc4random_addrandom
void arc4random_addrandom(unsigned char *dat, int datlen);
$ gcc -E -xc - <<<'#include <bsd/stdlib.h>' | grep arc4random_buf
void arc4random_buf (void *, size_t); // from stdlib.h
void arc4random_buf(void *_buf, size_t n); // from bsd/stdlib.h
$ nm /usr/lib/libcygwin.a | grep ' arc4random'
0000000000000000 T arc4random
0000000000000000 T arc4random_addrandom
0000000000000000 T arc4random_buf
0000000000000000 T arc4random_stir
0000000000000000 T arc4random_uniform
$ nm /usr/lib/libbsd.dll.a | grep ' arc4random' || echo not found
not found
I guess:
- arc4random_addrandom() should be removed from libcygwin.a or added to
cygwin/stdlib.h.
- all arc4random*() should be hidden for __CYGWIN__ in bsd/stdlib.h.
--
Regards,
Christian
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple