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

Reply via email to