www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/02/20/04:40:40

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: <Z7b4Wl_8HYaboYaL@calimero.vinschen.de>
Mail-Followup-To: cygwin AT cygwin DOT com
References: <4250e737-217a-2b55-c6df-8567b283da15 AT t-online DOT de>
<Z7XMsdPjKyaOrNIQ AT calimero DOT vinschen DOT de>
<e364ba68-bafd-c79e-abbf-d1382e6d3463 AT t-online DOT de>
<Z7XfUHzBmGikTBqf AT calimero DOT vinschen DOT de>
<Z7X6vnVOxIz13Hue AT calimero DOT vinschen DOT de>
<Z7ZJSzkfA6AMBjtD AT calimero DOT vinschen DOT de>
<2b2f037c-eb06-1edb-bd45-e72e9498af05 AT t-online DOT de>
MIME-Version: 1.0
In-Reply-To: <2b2f037c-eb06-1edb-bd45-e72e9498af05@t-online.de>
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Corinna Vinschen via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019