cygwin 3.6.0 vs. libbsd 0.11.7-3: -lbsd breaks setproctitle()
Christian Franke
Christian.Franke@t-online.de
Thu Feb 20 07:34:54 GMT 2025
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()
--
Regards,
Christian
More information about the Cygwin
mailing list