DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 52FC4mGg1930833 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 52FC4mGg1930833 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=F8sFaJp4 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D4693857BBF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1742040286; bh=PAF4c+wRo3ZMBxbDpsfH/9FKqnb53u5kVN1w8qxWQLE=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=F8sFaJp4pQDu+sifKYpdQOll1qLtadX8mIh1VQoXZCLrToSM7cKk2Kl46suE7kP3U nz4OOytMUdHmSi3T2GhauyUVCiQhc03dNho/83TbuwCtCis6ENuYniu18/WD/hauVd nWUM7+6HLKt+G5aW/KdQilwv/5vLCseF6GkSW13o= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2C8AC3858D1E ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2C8AC3858D1E ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1742040260; cv=none; b=wPcYKcJZ8CEFqGImbP03SAgVJsEEvMmjv+2y0MVLWOD8JAOXT29kCBajr6/DB9m/ZAkpdSVWX3/+uejmtrOH/yeAo9cmUVDxPGr54LkPJVLT7mdCyw1kubRHLYgDJjviJ6JEBMtHaFVHZgU/XuV4HWTTx1GzxiQgvj3FWY6SZAE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1742040260; c=relaxed/simple; bh=YsGdardNtWCH3u4VbVBlXO3wHIhRS/iHfZOzf5MkXoY=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=d56pXtv9aYbB+qBkPHHou961WAwHQIwb8aIuJUGSyW4xwX2I0ukNqh3orsTGYS4aMQPX748SpJxhZOR12UFBs/OhnI6vT4A0xAZxiX9Ie9B8ThPesca7aQ5AgvBIwlC/fJykp8A80ilySHF0m4xxJjfN2kiWADT0Y7C+T9bXg6E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C8AC3858D1E Subject: Re: cygwin-devel vs libbsd-devel: arc4random_stir() macro in stdlib.h breaks bsd/stdlib.h To: cygwin AT cygwin DOT com References: <8a442ec3-23e8-c09c-f9be-5a9fe7e6d801 AT t-online DOT de> Message-ID: Date: Sat, 15 Mar 2025 13:04:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 SeaMonkey/2.53.20 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------C6B646863C9B9F465398E0F0" X-TOI-EXPURGATEID: 150726::1742040258-8EFFB44E-DE0AAD3A/0/0 CLEAN NORMAL X-TOI-MSGID: d309df2f-704f-4f17-84f3-e41a8796b116 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Christian Franke via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Christian Franke Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" This is a multi-part message in MIME format. --------------C6B646863C9B9F465398E0F0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Corinna Vinschen via Cygwin wrote: > On Mar 14 17:12, Corinna Vinschen via Cygwin wrote: >> On Mar 14 16:50, Corinna Vinschen via Cygwin wrote: >>> On Mar 14 13:48, Christian Franke via Cygwin wrote: >>>> $ 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. >>> No, we can't do that (OpenSSH) >> Ooooh, you mean arc4random_addrandom. My excuse for a brain was still >> thinking of arc4random_stir *facepalm* >> >> Hmm... >> >>>> - all arc4random*() should be hidden for __CYGWIN__ in bsd/stdlib.h. >>> This, we can do. Let me check. > Check out cygwin-3.6.0-0.440.g5ec497dc80bc in conjunction with > libbsd-0.12.2-4, both building right now. Looks good ... $ nm /usr/lib/libcygwin.a | grep ' arc4random' 0000000000000000 T arc4random 0000000000000000 T arc4random_buf 0000000000000000 T arc4random_uniform $ gcc -E -xc - <<<'#include ' | grep arc4random __uint32_t arc4random (void); __uint32_t arc4random_uniform (__uint32_t); void arc4random_buf (void *, size_t); $ nm /usr/lib/libbsd.dll.a | grep ' arc4random' || echo not found not found ... except that bsd/stdlib.h still advertises the functions which could no longer be linked: $ gcc -E -xc - <<<'#include ' | grep arc4random __uint32_t arc4random (void); __uint32_t arc4random_uniform (__uint32_t); void arc4random_buf (void *, size_t); void arc4random_stir(void); void arc4random_addrandom(unsigned char *dat, int datlen); Mostly cosmetic as this would not result in false positive AC_CHECK_FUNC*() results. I would suggest to revert the recent bsd/stdlib.h change and move the __CYGWIN__ check to the top level #if instead, see attached patch. -- Thanks, Christian --------------C6B646863C9B9F465398E0F0 Content-Type: text/plain; charset=UTF-8; name="libbsd-0.12.2-4-stdlib.h.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="libbsd-0.12.2-4-stdlib.h.patch" LS0tIGJzZC9zdGRsaWIuaC0wLjEyLjItNAkyMDI1LTAzLTE0IDIwOjE4OjM2LjAwMDAwMDAw MCArMDEwMAorKysgYnNkL3N0ZGxpYi5oCTIwMjUtMDMtMTUgMTI6MzU6NTMuNDY1MjYyMDAw ICswMTAwCkBAIC01MSwxMiArNTEsMTAgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KIAogX19C RUdJTl9ERUNMUwotI2lmICFkZWZpbmVkKF9fQVBQTEVfXykgJiYgIWRlZmluZWQoX19zdW4p Ci0jaWYgKCFkZWZpbmVkKF9fR0xJQkNfXykgfHwgXAorI2lmICFkZWZpbmVkKF9fQVBQTEVf XykgJiYgIWRlZmluZWQoX19DWUdXSU5fXykgJiYgIWRlZmluZWQoX19zdW4pCisjaWYgIWRl ZmluZWQoX19HTElCQ19fKSB8fCBcCiAgICAgICFfX0dMSUJDX1BSRVJFUSgyLCAzNikgfHwg XAotICAgICAhZGVmaW5lZChfREVGQVVMVF9TT1VSQ0UpKSAmJiBcCi0gICAgICghZGVmaW5l ZChfX0NZR1dJTl9fKSB8fCBcCi0gICAgICAhX19CU0RfVklTSUJMRSkKKyAgICAhZGVmaW5l ZChfREVGQVVMVF9TT1VSQ0UpCiB1aW50MzJfdCBhcmM0cmFuZG9tKHZvaWQpOwogdm9pZCBh cmM0cmFuZG9tX2J1Zih2b2lkICpfYnVmLCBzaXplX3Qgbik7CiB1aW50MzJfdCBhcmM0cmFu ZG9tX3VuaWZvcm0odWludDMyX3QgdXBwZXJfYm91bmQpOwo= --------------C6B646863C9B9F465398E0F0 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- 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 --------------C6B646863C9B9F465398E0F0--