microblaze-wire-up-sigaltstack.patch 1.2 KB

123456789101112131415161718192021222324252627282930
  1. From: Ramin Moussavi <ramin.moussavi@yacoub.de>
  2. Subject: [PATCH] microblaze: wire up sigaltstack
  3. sigaltstack is wired to sys_ni_syscall - microblaze is the only
  4. architecture without it - although the microblaze signal delivery code
  5. fully supports the alternate signal stack: get_sigframe() picks the
  6. stack via sigsp(), setup_rt_frame() saves it with __save_altstack() and
  7. sys_rt_sigreturn() calls restore_altstack().
  8. Wire it up to sys_sigaltstack.
  9. Tested on qemu petalogix-s3adsp1800 (microblazeel, kernel 6.5.10 and
  10. syscall table unchanged in current mainline) with the uClibc-ng test
  11. suite: the five sigaltstack-dependent NPTL tests (tst-cancel20/21,
  12. tst-cancelx20/21, tst-signal6) pass; before this change sigaltstack()
  13. returned ENOSYS.
  14. Signed-off-by: Ramin Moussavi <ramin.moussavi@yacoub.de>
  15. --- a/arch/microblaze/kernel/syscalls/syscall.tbl
  16. +++ b/arch/microblaze/kernel/syscalls/syscall.tbl
  17. @@ -193,7 +193,7 @@
  18. 183 common getcwd sys_getcwd
  19. 184 common capget sys_capget
  20. 185 common capset sys_capset
  21. -186 common sigaltstack sys_ni_syscall
  22. +186 common sigaltstack sys_sigaltstack
  23. 187 common sendfile sys_sendfile
  24. 188 common getpmsg sys_ni_syscall
  25. 189 common putpmsg sys_ni_syscall