Update strace to 4.21.

Noteworthy changes in release 4.21 (2018-02-13)
===============================================

* Changes in behaviour
  * Warning is now issued when -F option is used.
  * Warning is now issued when a tracee with unsupported personality
    is attached.
  * Unknown syscall numbers are now printed in hexadecimal form.

* Improvements
  * Implemented decoding of netlink descriptor attributes as file descriptors.
  * Implemented decoding of hugetlb page size selection flags.
  * Implemented decoding of BPF_PROG_TEST_RUN, BPF_PROG_GET_NEXT_ID,
    BPF_MAP_GET_NEXT_ID, BPF_PROG_GET_FD_BY_ID, BPF_MAP_GET_FD_BY_ID,
    and BPF_OBJ_GET_INFO_BY_FD commands of bpf syscall.
  * Enhanced decoding of get_thread_area, memfd_create, modify_ldt,
    perf_event_open, reboot, s390_guarded_storage, s390_pcio_mmio_read,
    s390_pci_mmio_write, s390_runtime_instr, s390_sthyi, set_thread_area,
    and shmget syscalls.
  * Implemented decoding of KVM_* and DM_LIST_DEVICES ioctl commands.
  * Implemented decoding of riscv_flush_icache syscall.
  * Enhanced decoding of getsockopt and setsockopt syscalls for SOL_NETLINK
    level.
  * Enhanced decoding of BPF_MAP_CREATE command of bpf syscall.
  * Print values returned by mq_open syscall and first arguments
    of mq_getsetattr, mq_notify, mq_timedreceive, and mq_timedsend syscalls
    as file descriptors.
  * Added decoding of get_tls syscall on arm.
  * Added -e trace=%pure option for tracing system calls with no arguments that
    never fail.
  * Updated lists of IPV6_*, MAP_*, MEMBARRIER_CMD_*, MSG_*, NT_*, PKEY_*,
    SHM_*, and TCP_* constants.
  * Added manual page for the strace-log-merge command.
  * Updated lists of ioctl commands from Linux 4.15.
  * Implemented biarch support for s390x.
  * Implemented an optional support for symbol demangling in strace -k output
    (activated by --with-libiberty configure option).
  * Information about availability of demangling and reliable personality
    decoding (on architectures with multiple personalities) is now available
    in strace -V output.
  * Added decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls on
    powerpc and powerpc64.
  * Enhanced manual page.

* Bug fixes
  * Fixed multi-personality support in cross builds.
  * Added mq_getsetattr, mq_notify, mq_open, mq_timedreceive, and mq_timedsend
    syscalls to %desc tracing set.
  * Fixed path tracing support for mmap syscalls with indirect arguments and
    for old select syscall.
  * Fixed decoding of arm-specific (__ARM_NR_*) syscalls.
  * Fixed open mode flags decoding.
  * Fixed corner cases in handling of strace -ff -ttt logs by strace-log-merge.
  * Error counts that exceed one billion are now printed correctly in call
    summary output.
  * Fixed call summary header for x32 personality.
  * Changes of tracee personalities are reported more reliably.
  * Fixed the case when strace attaches to a tracee being inside exec and its
    first syscall stop is syscall-exit-stop instead of syscall-enter-stop,
    which messed up all the syscall state tracking.
  * Fixed printing of higher 32 bits of the return value for x32 personality.

* Portability
  * A C compiler that supports "for" loop initial declarations is now required.
  * Inability to configure multiple personality support on architectures where
    multiple personalities are supported leads to configuration failure during
    build now.  Use --enable-mpers=check to revert to the old behaviour.
  * Build-time requirement for the mpers support has been lowered from gawk 4
    to gawk 3.
  * Removed incomplete and non-functional support for the CRIS architecture.
  * Removed incomplete and unused support for IA-32 mode on the IA-64
    architecture.

Bug: N/A
Test: strace -f date
Change-Id: I126eec18d7309a89f5a75dcab6498c99bb099836
1555 files changed
tree: 4b0da9dce35635a264d079fb8ef8b27a16430c29
  1. debian/
  2. linux/
  3. m4/
  4. tests/
  5. tests-m32/
  6. tests-mx32/
  7. xlat/
  8. .strace.1.in.date
  9. .tarball-version
  10. .version
  11. .year
  12. access.c
  13. aclocal.m4
  14. affinity.c
  15. aio.c
  16. alpha.c
  17. Android.bp
  18. arch_defs.h
  19. AUTHORS
  20. basic_filters.c
  21. bind.c
  22. bjm.c
  23. block.c
  24. bpf.c
  25. bpf_filter.c
  26. bpf_filter.h
  27. bpf_fprog.h
  28. bpf_seccomp_filter.c
  29. bpf_sock_filter.c
  30. btrfs.c
  31. cacheflush.c
  32. capability.c
  33. caps0.h
  34. caps1.h
  35. ChangeLog
  36. ChangeLog-CVS
  37. chdir.c
  38. chmod.c
  39. clone.c
  40. compile
  41. config.guess
  42. config.h
  43. config.h.in
  44. config.sub
  45. configure
  46. configure.ac
  47. copy_file_range.c
  48. COPYING
  49. count.c
  50. CREDITS
  51. defs.h
  52. depcomp
  53. desc.c
  54. dirent.c
  55. dirent64.c
  56. dm.c
  57. dyxlat.c
  58. empty.h
  59. epoll.c
  60. error_prints.c
  61. error_prints.h
  62. evdev.c
  63. eventfd.c
  64. execve.c
  65. fadvise.c
  66. fallocate.c
  67. fanotify.c
  68. fchownat.c
  69. fcntl.c
  70. fetch_bpf_fprog.c
  71. fetch_indirect_syscall_args.c
  72. fetch_struct_flock.c
  73. fetch_struct_keyctl_kdf_params.c
  74. fetch_struct_mmsghdr.c
  75. fetch_struct_msghdr.c
  76. fetch_struct_stat.c
  77. fetch_struct_stat64.c
  78. fetch_struct_statfs.c
  79. file_handle.c
  80. file_ioctl.c
  81. filter.h
  82. filter_qualify.c
  83. flock.c
  84. flock.h
  85. fs_x_ioctl.c
  86. fstatfs.c
  87. fstatfs64.c
  88. futex.c
  89. gcc_compat.h
  90. generate_sen.sh
  91. get_robust_list.c
  92. getcpu.c
  93. getcwd.c
  94. getpagesize.c
  95. getrandom.c
  96. hdio.c
  97. hostname.c
  98. inotify.c
  99. INSTALL
  100. install-sh
  101. io.c
  102. ioctl.c
  103. ioctl_iocdef.c
  104. ioctlent0.h
  105. ioctlent1.h
  106. ioctlent2.h
  107. ioctlsort.c
  108. ioperm.c
  109. iopl.c
  110. ioprio.c
  111. ipc.c
  112. ipc_defs.h
  113. ipc_msg.c
  114. ipc_msgctl.c
  115. ipc_sem.c
  116. ipc_shm.c
  117. ipc_shmctl.c
  118. kcmp.c
  119. kernel_types.h
  120. kexec.c
  121. keyctl.c
  122. keyctl_kdf_params.h
  123. kvm.c
  124. largefile_wrappers.h
  125. ldt.c
  126. link.c
  127. listen.c
  128. lookup_dcookie.c
  129. loop.c
  130. lseek.c
  131. macros.h
  132. Makefile.am
  133. Makefile.in
  134. mem.c
  135. membarrier.c
  136. memfd_create.c
  137. missing
  138. mknod.c
  139. mmsghdr.c
  140. MODULE_LICENSE_BSD
  141. mount.c
  142. mpers.am
  143. mpers.awk
  144. mpers.sh
  145. mpers_test.sh
  146. mpers_type.h
  147. mpers_xlat.h
  148. mq.c
  149. msghdr.c
  150. msghdr.h
  151. mtd.c
  152. native_defs.h
  153. native_printer_decls.h
  154. native_printer_defs.h
  155. negated_errno.h
  156. net.c
  157. netlink.c
  158. netlink.h
  159. netlink_crypto.c
  160. netlink_inet_diag.c
  161. netlink_netlink_diag.c
  162. netlink_packet_diag.c
  163. netlink_route.c
  164. netlink_route.h
  165. netlink_selinux.c
  166. netlink_smc_diag.c
  167. netlink_sock_diag.c
  168. netlink_sock_diag.h
  169. netlink_unix_diag.c
  170. NEWS
  171. nlattr.c
  172. nlattr.h
  173. nsfs.c
  174. nsfs.h
  175. nsig.h
  176. numa.c
  177. number_set.c
  178. number_set.h
  179. oldstat.c
  180. open.c
  181. or1k_atomic.c
  182. pathtrace.c
  183. perf.c
  184. perf_event_struct.h
  185. personality.c
  186. pkeys.c
  187. poll.c
  188. prctl.c
  189. print_dev_t.c
  190. print_fields.h
  191. print_group_req.c
  192. print_ifindex.c
  193. print_mq_attr.c
  194. print_msgbuf.c
  195. print_sg_req_info.c
  196. print_sigevent.c
  197. print_statfs.c
  198. print_struct_stat.c
  199. print_time.c
  200. print_timespec.c
  201. print_timeval.c
  202. print_timex.c
  203. printers.h
  204. printmode.c
  205. printrusage.c
  206. printsiginfo.c
  207. printsiginfo.h
  208. process.c
  209. process_vm.c
  210. ptp.c
  211. ptrace.h
  212. quota.c
  213. readahead.c
  214. readlink.c
  215. README
  216. README-linux-ptrace
  217. reboot.c
  218. regs.h
  219. renameat.c
  220. resource.c
  221. riscv.c
  222. rt_sigframe.c
  223. rt_sigreturn.c
  224. rtc.c
  225. rtnl_addr.c
  226. rtnl_addrlabel.c
  227. rtnl_dcb.c
  228. rtnl_link.c
  229. rtnl_mdb.c
  230. rtnl_neigh.c
  231. rtnl_neightbl.c
  232. rtnl_netconf.c
  233. rtnl_nsid.c
  234. rtnl_route.c
  235. rtnl_rule.c
  236. rtnl_tc.c
  237. rtnl_tc_action.c
  238. s390.c
  239. sched.c
  240. sched_attr.h
  241. scno.am
  242. scno.h
  243. scno.head
  244. scsi.c
  245. seccomp.c
  246. sen.h
  247. sendfile.c
  248. sg_io_v3.c
  249. sg_io_v4.c
  250. shutdown.c
  251. sigaltstack.c
  252. sigevent.h
  253. signal.c
  254. signalfd.c
  255. sigreturn.c
  256. sock.c
  257. sockaddr.c
  258. socketcall.c
  259. socketutils.c
  260. sram_alloc.c
  261. stat.c
  262. stat.h
  263. stat64.c
  264. statfs.c
  265. statfs.h
  266. statfs64.c
  267. statx.c
  268. statx.h
  269. strace-graph
  270. strace-log-merge
  271. strace-log-merge.1
  272. strace-log-merge.1.in
  273. strace.1
  274. strace.1.in
  275. strace.c
  276. strace.spec
  277. strace.spec.in
  278. string_to_uint.c
  279. string_to_uint.h
  280. supported_personalities.h
  281. swapon.c
  282. sync_file_range.c
  283. sync_file_range2.c
  284. sys_func.h
  285. syscall.c
  286. sysctl.c
  287. sysent.h
  288. sysent_shorthand_defs.h
  289. sysent_shorthand_undefs.h
  290. sysinfo.c
  291. syslog.c
  292. sysmips.c
  293. term.c
  294. test-driver
  295. time.c
  296. times.c
  297. trace_event.h
  298. truncate.c
  299. ubi.c
  300. ucopy.c
  301. uid.c
  302. uid16.c
  303. umask.c
  304. umount.c
  305. uname.c
  306. unwind.c
  307. upeek.c
  308. upoke.c
  309. userfaultfd.c
  310. ustat.c
  311. util.c
  312. utime.c
  313. utimes.c
  314. v4l2.c
  315. wait.c
  316. xattr.c
  317. xlat.c
  318. xlat.h
  319. xlate.el
  320. xmalloc.c
  321. xmalloc.h
  322. xstring.h