tree 4e293d63e61351539e549cbe28a69efbc24136d6
parent 5168b2b17e16c0ce1e5572080c46cb6ad4a2fecd
author Elliott Hughes <enh@google.com> 1499288084 -0700
committer Elliott Hughes <enh@google.com> 1499300680 -0700

Update strace to 4.18.

Noteworthy changes in release 4.18 (2017-07-05)
===============================================

* Improvements
  * Implemented decoding of SCM_TIMESTAMP* control messages.
  * Implemented decoding of netlink NLMSG_DONE messages.
  * Implemented decoding of netlink generic nlmsg_type and nlmsg_flags.
  * Implemented decoding of NETLINK_AUDIT, NETLINK_NETFILTER, NETLINK_ROUTE,
    NETLINK_SELINUX, NETLINK_SOCK_DIAG, and NETLINK_XFRM message types.
  * Implemented decoding of NETLINK_GENERIC protocol families.
  * Implemented basic protocol specific decoding of AF_INET, AF_INET6,
    AF_NETLINK, AF_PACKET, AF_SMC, and AF_UNIX messages of NETLINK_SOCK_DIAG.
  * Implemented basic decoding of netlink attributes.
  * Implemented basic protocol specific decoding of AF_INET, AF_NETLINK,
    AF_PACKET, AF_SMC, and AF_UNIX netlink attributes of NETLINK_SOCK_DIAG.
  * Implemented decoding of inet_diag_msg, netlink_diag_msg, and unix_diag_msg
    netlink attributes of NETLINK_SOCK_DIAG.
  * Updated lists of ARPHRD_*, KEYCTL_*, NDIAG_SHOW_*, RTM_*, SCM_*, SCTP_*,
    SO_*, V4L2_*, and prctl ARCH_* constants.
  * Updated lists of ioctl commands from Linux 4.12.

* Bug fixes
  * In interactive mode (-I2), those signals that were blocked at startup
    will remain blocked for the whole period of strace execution.
  * strace no longer resets SIGCHLD handler in tracees to the default action.
  * When traced command is terminated by a blocked signal, strace unblocks
    that signal to ensure its own termination with the same signal.
  * Fixed corner cases in decoding of old sigaction syscall.
  * Fixed build with old kernel headers on mips.
  * Fixed build on aarch64 and tile with glibc >= 2.26.
  * Fixed build on arc and nios2.

Bug: N/A
Test: strace date
Change-Id: Ib34873ff60824b04f67332380c3460721f66002e
