Reland: Introduce sys_sigprocmask and sys_sigaction. (patchset #4 id:80001 of...
Reland: Introduce sys_sigprocmask and sys_sigaction. (patchset #4 id:80001 of https://codereview.chromium.org/1092153005/) The last version was broken for x86_64 DEBUG build. On x86_64, it is necessary to set sa_restorer appropriately, if not specified. What we need in the function is just invoking the rt_sigreturn system call. However, it is special system call which touches user land stack, so that a function prologue will break the program. In RELEASE build, that prologue is gone (including syscall() invocation) by optimization. However, in DEBUG build, there is the prologue. Unfortunately, all CQ and trybot do not run DEBUG tests so that it was not catched. Also, it turned out that MSAN does not work with direct sigaction syscall, unfortunately. (In more precise, it does not work if we *mix* direct sigaction syscall and sigaction() in libc). This version fixes them. TEST=Ran sandbox_linux_tests with DEBUG build locally. Ran msan tests, too. Ran trybots including 64 debug bot and msan ones. BUG=358465 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_chromium_trusty32_rel,linux_arm,linux_chromium_trusty_dbg,linux_chromium_dbg_ng,linux_chromium_msan_rel_ng Review URL: https://codereview.chromium.org/1099263003 Cr-Commit-Position: refs/heads/master@{#326893}
Showing
Please register or sign in to comment