cygwin 3.6.0 vs. libbsd 0.11.7-3: -lbsd breaks setproctitle()
Corinna Vinschen
corinna-cygwin@cygwin.com
Thu Feb 20 10:49:14 GMT 2025
On Feb 20 10:44, Corinna Vinschen via Cygwin wrote:
> On Feb 20 10:39, Corinna Vinschen via Cygwin wrote:
> > On Feb 20 08:34, Christian Franke via Cygwin wrote:
> > > Corinna Vinschen via Cygwin wrote:
> > > > 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:
> ^^^^^^^^
>> My reading skills... sigh.
>>>> > > - 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.
>> So you already did, thank you :}
I just deployed 0.12.2-2 as test. Apart from setproctitle{_init}, it
also drops exporting the following symbols already exported from Cygwin:
arc4random*
explicit_bzero
fpurge
getprogname
reallocarray
reallocf
setprogname
strlcat
strlcpy
strnstr
wcslcat
wcslcpy
Given cygbsd-0.dll still defines these functions, it should still work
with older executables.
Thanks,
Corinna
More information about the Cygwin
mailing list