diff options
author | Takashi Yano <takashi.yano@nifty.ne.jp> | 2025-03-24 09:26:34 +0900 |
---|---|---|
committer | Takashi Yano <takashi.yano@nifty.ne.jp> | 2025-03-24 21:28:13 +0900 |
commit | bb2a8a8cb3ae8753dd275caffdef567f3c2da1b6 (patch) | |
tree | e304ddc64effc6369269b4fec7d0811af5a5c964 /newlib/libc | |
parent | 764dbcafb3ec2aad04cfd02e4b3493bf7383a384 (diff) | |
download | newlib-bb2a8a8cb3ae8753dd275caffdef567f3c2da1b6.zip newlib-bb2a8a8cb3ae8753dd275caffdef567f3c2da1b6.tar.gz newlib-bb2a8a8cb3ae8753dd275caffdef567f3c2da1b6.tar.bz2 |
Cygwin: signal: Clear direction flag in sigdeleyed
x86_64 ABI requires the direction flag in CPU flags register cleared.
https://learn.microsoft.com/en-us/cpp/build/x64-software-conventions
However, currently that flag is not maintained in signal handler.
Therefore, if the signal handler is called when that flag is set, it
destroys the data and may crash if rep instruction is used in the
signal handler. With this patch, the direction flag is cleared in
sigdelayed() by adding cld instruction.
Addresses: https://cygwin.com/pipermail/cygwin/2025-March/257704.html
Fixes: 1fd5e000ace5 ("import winsup-2000-02-17 snapshot")
Reported-by: Christian Franke <Christian.Franke@t-online.de>
Reviewed-by: Corinna Vischen <corinna@vinschen.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Diffstat (limited to 'newlib/libc')
0 files changed, 0 insertions, 0 deletions