From c55c826dc09c490fbb9463d52a5450d3635ff456 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Wed, 3 Nov 2021 21:28:10 +1300 Subject: strace: add 5.14 https://lists.strace.io/pipermail/strace-devel/2021-September/010674.html Bring in upstream patch to deal with removal of linux/ipx.h in the linux 5.15. Signed-off-by: Chris Packham diff --git a/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch b/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch new file mode 100644 index 0000000..93955eb --- /dev/null +++ b/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch @@ -0,0 +1,148 @@ +From d8eb6a06192d982977b3ff12b6d1ca69beaa7bb3 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 3 Nov 2021 00:48:59 +0100 +Subject: [PATCH] Avoid relying on presence of ipx.h + +After Linux has broken UAPI in commit v5.15-rc1~157^2~207, it is well +possible that neither kernel nor libc (such as musl, for example) +provides an IPX-related header. Avoid relying on its presence +in the strace's code and conditionalise the relevant checks in the tests. + +* configure.ac (AC_CHECK_HEADERS): Add linux/ipx.h. +* src/net.c: Remove / includes. +* src/sockaddr.c: Likewise. +(IPX_NODE_LEN): New macro constant. +(struct sockaddr_ipx): New type definition. +* src/xlat/sock_ipx_options.in (IPX_TYPE): Provide a fallback value. +* tests/net-sockaddr.c [!HAVE_LINUX_IPX_H]: Do not include +. +[!HAVE_LINUX_IPX_H && HAVE_NETIPX_IPX_H]: Include . +[!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)] (check_ipx): Do not +define. +(main) [!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)]: Do not call +check_ipx. + +Closes: https://github.com/strace/strace/issues/201 +--- + configure.ac | 1 + + src/net.c | 5 ----- + src/sockaddr.c | 16 ++++++++++------ + src/xlat/sock_ipx_options.in | 2 +- + tests/net-sockaddr.c | 10 +++++++++- + 5 files changed, 21 insertions(+), 13 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2771c0f82..3c7fcb91e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -423,6 +423,7 @@ AC_CHECK_HEADERS(m4_normalize([ + elf.h + gcov.h + iconv.h ++ linux/ipx.h + mqueue.h + netinet/sctp.h + netipx/ipx.h +diff --git a/src/net.c b/src/net.c +index b23911a97..bbc52e15f 100644 +--- a/src/net.c ++++ b/src/net.c +@@ -28,11 +28,6 @@ + #include + #include + #include +-#ifdef HAVE_NETIPX_IPX_H +-# include +-#else +-# include +-#endif + + #include + #include "netlink.h" +diff --git a/src/sockaddr.c b/src/sockaddr.c +index 8b2b0afaf..66aa04d59 100644 +--- a/src/sockaddr.c ++++ b/src/sockaddr.c +@@ -24,12 +24,6 @@ + #include + #include + +-#ifdef HAVE_NETIPX_IPX_H +-# include +-#else +-# include +-#endif +- + #include "xlat/addrfams.h" + #include "xlat/arp_hardware_types.h" + #include "xlat/ethernet_protocols.h" +@@ -42,6 +36,16 @@ + + #define SIZEOF_SA_FAMILY sizeof_field(struct sockaddr, sa_family) + ++#define IPX_NODE_LEN 6 ++struct sockaddr_ipx { ++ uint16_t sipx_family; ++ uint16_t sipx_port; ++ uint32_t sipx_network; ++ unsigned char sipx_node[IPX_NODE_LEN]; ++ uint8_t sipx_type; ++ unsigned char sipx_zero; ++}; ++ + const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1; + const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; + +diff --git a/src/xlat/sock_ipx_options.in b/src/xlat/sock_ipx_options.in +index eba97fd71..b09be117e 100644 +--- a/src/xlat/sock_ipx_options.in ++++ b/src/xlat/sock_ipx_options.in +@@ -1 +1 @@ +-IPX_TYPE ++IPX_TYPE 1 +diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c +index f1f9b01cd..c8049fd68 100644 +--- a/tests/net-sockaddr.c ++++ b/tests/net-sockaddr.c +@@ -24,7 +24,11 @@ + #include + #include + #include +-#include ++#if defined HAVE_LINUX_IPX_H ++# include ++#elif defined HAVE_NETIPX_IPX_H ++# include ++#endif + #ifdef HAVE_BLUETOOTH_BLUETOOTH_H + # include + # include +@@ -269,6 +273,7 @@ check_in6(void) + printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); + } + ++#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H + static void + check_ipx(void) + { +@@ -295,6 +300,7 @@ check_ipx(void) + c_ipx.sipx_node[4], c_ipx.sipx_node[5], + c_ipx.sipx_type, len, ret); + } ++#endif /* HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H */ + + /* for a bit more compact AX.25 address definitions */ + #define AX25_ADDR(c_, s_) \ +@@ -773,7 +779,9 @@ main(void) + check_un(); + check_in(); + check_in6(); ++#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H + check_ipx(); ++#endif + check_ax25(); + check_x25(); + check_nl(); +-- +2.33.1 + diff --git a/packages/strace/5.14/chksum b/packages/strace/5.14/chksum new file mode 100644 index 0000000..4797e24 --- /dev/null +++ b/packages/strace/5.14/chksum @@ -0,0 +1,4 @@ +md5 strace-5.14.tar.xz 36c1c17f31855617b7898d2fd5abb9e2 +sha1 strace-5.14.tar.xz 6625b01b18c3940cd926c85e4d1feb10f162973d +sha256 strace-5.14.tar.xz 901bee6db5e17debad4530dd9ffb4dc9a96c4a656edbe1c3141b7cb307b11e73 +sha512 strace-5.14.tar.xz 3e147521773d900167809db9feeb148e8ba116f90dd634311941ea335eb7bd8b73ab9e641bd2dcfe899ab41c19a841e203dc771ec3000ae01452d22ecdc43c5a diff --git a/packages/strace/5.14/version.desc b/packages/strace/5.14/version.desc new file mode 100644 index 0000000..e69de29 -- cgit v0.10.2-6-g49f6