On Tue, 7 Jul 2026, LIU Hao wrote:
I have pushed these patches now.
Unfortunately, this breaks other things instead.
Now we hide the declaration of the signal() function, if we think it's not
working 100% perfectly. That is a bit too much.
It can be the case that mingw-w64-crt is built with SEH and everything
enabled, while user code is built with other flags. They may have large
existing codebases that references signal(), even if signal handling isn't
involved in the majority of their use cases.
I noticed that this probably was too restrictive just while browsing these
commits after they had been pushed, and thought that this might break
something. Then my nightly llvm-mingw build on github had failed, exactly
because of this.
Busybox-w32 used to always be built with -fno-unwind-tables
-fno-asynchronous-unwind-tables, to keep the file size down. (Since [1]
this isn't always the case, but my builds happened to be built with a
configuration where unwind tables are disabled.)
Busybox-w32 doesn't even really use signal() for real; it used to be
commented out, but since [2] they emulate SIGPIPE, entirely without
signals, and keep a call to signal() in there for consistency. Which now
is broken.
[1]
https://github.com/rmyorston/busybox-w32/commit/a807cdfa95cf4af2f84e207ed15887cc3514cb43
[2]
https://github.com/rmyorston/busybox-w32/commit/68ddd4ec3c1275c66e01172498055817cbb10f04
// Martin
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public