DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 51K9edfE198501 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 51K9edfE198501 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=uWQSmJ8U X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 217D0385840F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1740044438; bh=AY0Q7xVficQ3LTR8Yikor3TGpNk+pq2Iha6sVTGNoR8=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=uWQSmJ8U9GgrAENPBa1W4ngFBn4a0/lb8xigCXhX+oBpqlFofLbqjiETk923MP64a dJm9OIINHYW6+T5KsFBjR11QAl3/U6vMYkJLvCQUV/OvesgcR7RUIMS0oYrt61eoA7 k4pSmt1dm7BjB3CTDaPo0YHeFuE0MrI9cK1QTsO8= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3688B3858C42 Date: Thu, 20 Feb 2025 10:39:38 +0100 To: cygwin AT cygwin DOT com Subject: Re: cygwin 3.6.0 vs. libbsd 0.11.7-3: -lbsd breaks setproctitle() Message-ID: Mail-Followup-To: cygwin AT cygwin DOT com References: <4250e737-217a-2b55-c6df-8567b283da15 AT t-online DOT de> <2b2f037c-eb06-1edb-bd45-e72e9498af05 AT t-online DOT de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <2b2f037c-eb06-1edb-bd45-e72e9498af05@t-online.de> 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: Corinna Vinschen via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Corinna Vinschen Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 51K9edfE198501 On Feb 20 08:34, Christian Franke via Cygwin wrote: > Corinna Vinschen via Cygwin wrote: > > On Feb 19 16:37, Corinna Vinschen via Cygwin wrote: > > > On Feb 19 14:40, Corinna Vinschen via Cygwin wrote: > > > > On Feb 19 14:25, Christian Franke via Cygwin wrote: > > > > > Corinna Vinschen via Cygwin wrote: > > > > > > So I think we rather shouldn't supply the libbsd version of > > > > > > setproctitle_init/setproctitle anymore, as soon as cygwin 3.6.0 is > > > > > > released. > > > > > > > > > > > > What do you think? > > > > > Makes sense. But then existing programs already using the functions from > > > > > cygbsd-0.dll would no longer start. Perhaps keep the symbols in the DLL only > > > > > for some time? > > > > Sure! The new version will just disable the header definitions but > > > > still export the symbols for backward compat. > > > I just realized that this isn't sufficient. The link lib libbsd.dll.a > > > must not export the symbol either. > > I uploaded a 0.11.8-1 test package which fixes this issue. I'll > > propagate it to non-test when 3.6.0 is released. > > A quick test with stress-ng was successful with both libbsd 0.11.8-1 and > 0.12.2-1 test releases: > - Old executable using setproctitle{,_init}() from cygbsd-0.dll still runs. > - A rebuild uses setproctitle() from cygwin1.dll. > - The testcases using other functions linked to cygbsd-0.dll succeed and > setproctitle() now works: > > $ procps -C stress-ng -o pid,args --sort pid >   PID COMMAND > 24706 ./stress-ng --heapsort 1 --mergesort 1 --radixsort 1 --monte-carlo 1 > --str 1 --wcs 1 -t 30 --verify -v -M > 24707 stress-ng-heapsort [run] > 24708 stress-ng-mergesort [run] > 24709 stress-ng-radixsort [run] > 24710 stress-ng-monte-carlo [run]  <= uses arc4random() > 24711 stress-ng-str [run] <= uses strlcat/cpy() > 24712 stress-ng-wcs [run] <= uses wcslcat/cpy() Great, thanks for testing! Yesterday I managed to get the latest 0.12.2 version of libbsd running, which needs tweaking of the configury. I uploaded a 0.12.2-1 test package late at night. However, this morning it occured to me that there are a lot more symbols in libbsd, which could be removed as exported symbols, while staying available in the DLL itself for backward compat. It doesn't make much sense to use the libbsd function for newly built applications if the functions are available in the Cygwin DLL anyway, right? I'll twiddle a bit with this and will come up with a 0.12.2-2 later today. Can you test the 0.12.2-1 in the meantime? That would be nice. Thanks, Corinna -- 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