Fix and enhance decoding of sched_[gs]etaffinity syscalls

Print cpu_set_t as a set of integers, similar to the way
fd_set is printed as a set of descriptors.

* affinity.c: Include <sched.h>.
(get_cpuset_size): New function.
(print_affinitylist): Rewrite using get_cpuset_size and next_set_bit.
(sched_getaffinity, sched_setaffinity): Print first two args as ints.
* NEWS: Mention this enhancement.
* tests/sched_xetaffinity.c: New file.
* tests/sched_xetaffinity.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sched_xetaffinity.
(TESTS): Add sched_xetaffinity.test.
* tests/.gitignore: Add sched_xetaffinity.

Reported-by: Joe Korty <joe.korty@ccur.com>
6 files changed
tree: 6034366a8e0d0fe22c5c29f6cc1deb635c6aeffd
  1. debian/
  2. linux/
  3. m4/
  4. maint/
  5. qemu_multiarch_testing/
  6. test/
  7. tests/
  8. xlat/
  9. .gitignore
  10. .mailmap
  11. .travis.yml
  12. access.c
  13. affinity.c
  14. aio.c
  15. AUTHORS
  16. bjm.c
  17. block.c
  18. bootstrap
  19. bpf.c
  20. build_static_example.sh
  21. cacheflush.c
  22. capability.c
  23. caps0.h
  24. caps1.h
  25. ChangeLog-CVS
  26. chdir.c
  27. chmod.c
  28. clone.c
  29. configure.ac
  30. COPYING
  31. count.c
  32. CREDITS.in
  33. defs.h
  34. desc.c
  35. dirent.c
  36. dirent64.c
  37. empty.h
  38. epoll.c
  39. errnoent.sh
  40. evdev.c
  41. eventfd.c
  42. execve.c
  43. exit.c
  44. fadvise.c
  45. fallocate.c
  46. fanotify.c
  47. fchownat.c
  48. fcntl.c
  49. fetch_seccomp_fprog.c
  50. fetch_struct_flock.c
  51. file.c
  52. file_handle.c
  53. flock.c
  54. flock.h
  55. futex.c
  56. gcc_compat.h
  57. generate_mpers_am.sh
  58. generate_sen.sh
  59. generate_xlat_in.sh
  60. get_robust_list.c
  61. getcpu.c
  62. getcwd.c
  63. getrandom.c
  64. git-set-file-times
  65. git-version-gen
  66. gitlog-to-changelog
  67. HACKING-scripts
  68. hostname.c
  69. inotify.c
  70. INSTALL
  71. io.c
  72. ioctl.c
  73. ioctlsort.c
  74. ioperm.c
  75. iopl.c
  76. ioprio.c
  77. ipc_defs.h
  78. ipc_msg.c
  79. ipc_msgctl.c
  80. ipc_sem.c
  81. ipc_shm.c
  82. ipc_shmctl.c
  83. kcmp.c
  84. kernel_types.h
  85. kexec.c
  86. keyctl.c
  87. ldt.c
  88. link.c
  89. lookup_dcookie.c
  90. loop.c
  91. lseek.c
  92. make-dist
  93. Makefile.am
  94. mem.c
  95. membarrier.c
  96. memfd_create.c
  97. mknod.c
  98. mount.c
  99. mpers.awk
  100. mpers.sh
  101. mpers_test.sh
  102. mpers_type.h
  103. mq.c
  104. mtd.c
  105. native_defs.h
  106. net.c
  107. NEWS
  108. open.c
  109. or1k_atomic.c
  110. pathtrace.c
  111. perf.c
  112. personality.c
  113. poll.c
  114. prctl.c
  115. print_mq_attr.c
  116. print_msgbuf.c
  117. print_sigevent.c
  118. print_time.c
  119. print_timex.c
  120. printmode.c
  121. printrusage.c
  122. printsiginfo.c
  123. printsiginfo.h
  124. printstat.h
  125. process.c
  126. process_vm.c
  127. ptp.c
  128. ptrace.h
  129. quota.c
  130. readahead.c
  131. readlink.c
  132. README
  133. README-hacking
  134. README-linux-ptrace
  135. README-mpers
  136. reboot.c
  137. regs.h
  138. renameat.c
  139. resource.c
  140. rtc.c
  141. sched.c
  142. scsi.c
  143. seccomp.c
  144. seccomp_fprog.h
  145. sendfile.c
  146. sigaltstack.c
  147. signal.c
  148. signalent.sh
  149. signalfd.c
  150. sigreturn.c
  151. sock.c
  152. socketutils.c
  153. sram_alloc.c
  154. statfs.c
  155. strace-graph
  156. strace-log-merge
  157. strace.1
  158. strace.c
  159. strace.spec
  160. swapon.c
  161. sync_file_range.c
  162. syscall.c
  163. syscallent.sh
  164. sysctl.c
  165. sysinfo.c
  166. syslog.c
  167. sysmips.c
  168. term.c
  169. time.c
  170. times.c
  171. travis-ci.sh
  172. truncate.c
  173. uid.c
  174. uid16.c
  175. umask.c
  176. umount.c
  177. uname.c
  178. unwind.c
  179. userfaultfd.c
  180. util.c
  181. utime.c
  182. utimes.c
  183. v4l2.c
  184. vsprintf.c
  185. wait.c
  186. xattr.c
  187. xlate.el
  188. xmalloc.c